cluster.meta

Issues/PRs archive for MTRNord/cluster
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.meta.git
Log | Files | Refs

3.diff (179625B)


      1 diff --git a/apps/2024_cluster/postgres-operator-values.yaml b/apps/2024_cluster/postgres-operator-values.yaml
      2 index d622f3ec..3d899c78 100644
      3 --- a/apps/2024_cluster/postgres-operator-values.yaml
      4 +++ b/apps/2024_cluster/postgres-operator-values.yaml
      5 @@ -11,35 +11,35 @@ spec:
      6          configKubernetes:
      7              cluster_name_label: "midnightthoughts"
      8              enable_readiness_probe: true
      9 -# ---
     10 -# apiVersion: helm.toolkit.fluxcd.io/v2beta2
     11 -# kind: HelmRelease
     12 -# metadata:
     13 -#   name: postgres-operator-ui
     14 -#   namespace: postgres-operator
     15 -# spec:
     16 -#   chart:
     17 -#     spec:
     18 -#       version: "1.11.x"
     19 -#   values:
     20 -#     envs:
     21 -#       teams:
     22 -#         - "midnightthoughts"
     23 -#         - "matrix"
     24 -#       superuser_team: "midnightthoughts"
     25 -#       targetNamespace: "*"
     26 -#       operatorClusterNameLabel: "midnightthoughts"
     27 -#     ingress:
     28 -#       enabled: true
     29 -#       annotations:
     30 -#         traefik.ingress.kubernetes.io/router.middlewares: traefik-ingress-sso@kubernetescrd
     31 -#         cert-manager.io/cluster-issuer: letsencrypt-dns
     32 -#       hosts:
     33 -#         - host: postgres-ui.midnightthoughts.space
     34 -#           paths: ["/"]
     35 -#       tls:
     36 -#         - secretName: postgres-ui.midnightthoughts.space-tls
     37 -#           hosts:
     38 -#             - postgres-ui.midnightthoughts.space
     39 -#     configKubernetes:
     40 -#       enable_pod_antiaffinity: true
     41 +            # ---
     42 +            # apiVersion: helm.toolkit.fluxcd.io/v2beta2
     43 +            # kind: HelmRelease
     44 +            # metadata:
     45 +            #   name: postgres-operator-ui
     46 +            #   namespace: postgres-operator
     47 +            # spec:
     48 +            #   chart:
     49 +            #     spec:
     50 +            #       version: "1.11.x"
     51 +            #   values:
     52 +            #     envs:
     53 +            #       teams:
     54 +            #         - "midnightthoughts"
     55 +            #         - "matrix"
     56 +            #       superuser_team: "midnightthoughts"
     57 +            #       targetNamespace: "*"
     58 +            #       operatorClusterNameLabel: "midnightthoughts"
     59 +            #     ingress:
     60 +            #       enabled: true
     61 +            #       annotations:
     62 +            #         traefik.ingress.kubernetes.io/router.middlewares: traefik-ingress-sso@kubernetescrd
     63 +            #         cert-manager.io/cluster-issuer: letsencrypt-dns
     64 +            #       hosts:
     65 +            #         - host: postgres-ui.midnightthoughts.space
     66 +            #           paths: ["/"]
     67 +            #       tls:
     68 +            #         - secretName: postgres-ui.midnightthoughts.space-tls
     69 +            #           hosts:
     70 +            #             - postgres-ui.midnightthoughts.space
     71 +            #     configKubernetes:
     72 +            #       enable_pod_antiaffinity: true
     73 diff --git a/apps/base/traefik-sso/deployment.yaml b/apps/base/traefik-sso/deployment.yaml
     74 index 2b19e122..ba8c402b 100644
     75 --- a/apps/base/traefik-sso/deployment.yaml
     76 +++ b/apps/base/traefik-sso/deployment.yaml
     77 @@ -55,7 +55,7 @@ spec:
     78                        value: "false"
     79                      - name: DEFAULT_PROVIDER
     80                        value: "oidc"
     81 -                    # - name: URL_PATH 
     82 +                    # - name: URL_PATH
     83                      #   value: /_oauth
     84                      #- name: WHITELIST
     85                      #  value: joooostb@gmail.com
     86 diff --git a/clusters/2024_cluster/flux-system/gotk-components.yaml b/clusters/2024_cluster/flux-system/gotk-components.yaml
     87 index b60031b3..f57b6188 100644
     88 --- a/clusters/2024_cluster/flux-system/gotk-components.yaml
     89 +++ b/clusters/2024_cluster/flux-system/gotk-components.yaml
     90 @@ -1,5 +1,5 @@
     91  # This manifest was generated by flux. DO NOT EDIT.
     92 -# Flux Version: v2.3.0
     93 +# Flux Version: v2.4.0
     94  # Components: source-controller,kustomize-controller,helm-controller,notification-controller,image-reflector-controller,image-automation-controller
     95  apiVersion: v1
     96  kind: Namespace
     97 @@ -7,7 +7,7 @@ metadata:
     98      labels:
     99          app.kubernetes.io/instance: flux-system
    100          app.kubernetes.io/part-of: flux
    101 -        app.kubernetes.io/version: v2.3.0
    102 +        app.kubernetes.io/version: v2.4.0
    103          pod-security.kubernetes.io/warn: restricted
    104          pod-security.kubernetes.io/warn-version: latest
    105      name: flux-system
    106 @@ -18,7 +18,7 @@ metadata:
    107      labels:
    108          app.kubernetes.io/instance: flux-system
    109          app.kubernetes.io/part-of: flux
    110 -        app.kubernetes.io/version: v2.3.0
    111 +        app.kubernetes.io/version: v2.4.0
    112      name: allow-egress
    113      namespace: flux-system
    114  spec:
    115 @@ -38,7 +38,7 @@ metadata:
    116      labels:
    117          app.kubernetes.io/instance: flux-system
    118          app.kubernetes.io/part-of: flux
    119 -        app.kubernetes.io/version: v2.3.0
    120 +        app.kubernetes.io/version: v2.4.0
    121      name: allow-scraping
    122      namespace: flux-system
    123  spec:
    124 @@ -58,7 +58,7 @@ metadata:
    125      labels:
    126          app.kubernetes.io/instance: flux-system
    127          app.kubernetes.io/part-of: flux
    128 -        app.kubernetes.io/version: v2.3.0
    129 +        app.kubernetes.io/version: v2.4.0
    130      name: allow-webhooks
    131      namespace: flux-system
    132  spec:
    133 @@ -77,7 +77,7 @@ metadata:
    134      labels:
    135          app.kubernetes.io/instance: flux-system
    136          app.kubernetes.io/part-of: flux
    137 -        app.kubernetes.io/version: v2.3.0
    138 +        app.kubernetes.io/version: v2.4.0
    139      name: critical-pods-flux-system
    140      namespace: flux-system
    141  spec:
    142 @@ -97,7 +97,7 @@ metadata:
    143      labels:
    144          app.kubernetes.io/instance: flux-system
    145          app.kubernetes.io/part-of: flux
    146 -        app.kubernetes.io/version: v2.3.0
    147 +        app.kubernetes.io/version: v2.4.0
    148      name: crd-controller-flux-system
    149  rules:
    150      - apiGroups:
    151 @@ -191,7 +191,7 @@ metadata:
    152      labels:
    153          app.kubernetes.io/instance: flux-system
    154          app.kubernetes.io/part-of: flux
    155 -        app.kubernetes.io/version: v2.3.0
    156 +        app.kubernetes.io/version: v2.4.0
    157          rbac.authorization.k8s.io/aggregate-to-admin: "true"
    158          rbac.authorization.k8s.io/aggregate-to-edit: "true"
    159      name: flux-edit-flux-system
    160 @@ -217,7 +217,7 @@ metadata:
    161      labels:
    162          app.kubernetes.io/instance: flux-system
    163          app.kubernetes.io/part-of: flux
    164 -        app.kubernetes.io/version: v2.3.0
    165 +        app.kubernetes.io/version: v2.4.0
    166          rbac.authorization.k8s.io/aggregate-to-admin: "true"
    167          rbac.authorization.k8s.io/aggregate-to-edit: "true"
    168          rbac.authorization.k8s.io/aggregate-to-view: "true"
    169 @@ -242,7 +242,7 @@ metadata:
    170      labels:
    171          app.kubernetes.io/instance: flux-system
    172          app.kubernetes.io/part-of: flux
    173 -        app.kubernetes.io/version: v2.3.0
    174 +        app.kubernetes.io/version: v2.4.0
    175      name: cluster-reconciler-flux-system
    176  roleRef:
    177      apiGroup: rbac.authorization.k8s.io
    178 @@ -262,7 +262,7 @@ metadata:
    179      labels:
    180          app.kubernetes.io/instance: flux-system
    181          app.kubernetes.io/part-of: flux
    182 -        app.kubernetes.io/version: v2.3.0
    183 +        app.kubernetes.io/version: v2.4.0
    184      name: crd-controller-flux-system
    185  roleRef:
    186      apiGroup: rbac.authorization.k8s.io
    187 @@ -292,12 +292,12 @@ apiVersion: apiextensions.k8s.io/v1
    188  kind: CustomResourceDefinition
    189  metadata:
    190      annotations:
    191 -        controller-gen.kubebuilder.io/version: v0.15.0
    192 +        controller-gen.kubebuilder.io/version: v0.16.1
    193      labels:
    194          app.kubernetes.io/component: source-controller
    195          app.kubernetes.io/instance: flux-system
    196          app.kubernetes.io/part-of: flux
    197 -        app.kubernetes.io/version: v2.3.0
    198 +        app.kubernetes.io/version: v2.4.0
    199      name: buckets.source.toolkit.fluxcd.io
    200  spec:
    201      group: source.toolkit.fluxcd.io
    202 @@ -308,6 +308,350 @@ spec:
    203          singular: bucket
    204      scope: Namespaced
    205      versions:
    206 +        - additionalPrinterColumns:
    207 +            - jsonPath: .spec.endpoint
    208 +              name: Endpoint
    209 +              type: string
    210 +            - jsonPath: .metadata.creationTimestamp
    211 +              name: Age
    212 +              type: date
    213 +            - jsonPath: .status.conditions[?(@.type=="Ready")].status
    214 +              name: Ready
    215 +              type: string
    216 +            - jsonPath: .status.conditions[?(@.type=="Ready")].message
    217 +              name: Status
    218 +              type: string
    219 +          name: v1
    220 +          schema:
    221 +            openAPIV3Schema:
    222 +                description: Bucket is the Schema for the buckets API.
    223 +                properties:
    224 +                    apiVersion:
    225 +                        description: |-
    226 +                            APIVersion defines the versioned schema of this representation of an object.
    227 +                            Servers should convert recognized schemas to the latest internal value, and
    228 +                            may reject unrecognized values.
    229 +                            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    230 +                        type: string
    231 +                    kind:
    232 +                        description: |-
    233 +                            Kind is a string value representing the REST resource this object represents.
    234 +                            Servers may infer this from the endpoint the client submits requests to.
    235 +                            Cannot be updated.
    236 +                            In CamelCase.
    237 +                            More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    238 +                        type: string
    239 +                    metadata:
    240 +                        type: object
    241 +                    spec:
    242 +                        description: |-
    243 +                            BucketSpec specifies the required configuration to produce an Artifact for
    244 +                            an object storage bucket.
    245 +                        properties:
    246 +                            bucketName:
    247 +                                description: BucketName is the name of the object storage bucket.
    248 +                                type: string
    249 +                            certSecretRef:
    250 +                                description: |-
    251 +                                    CertSecretRef can be given the name of a Secret containing
    252 +                                    either or both of
    253 +
    254 +                                    - a PEM-encoded client certificate (`tls.crt`) and private
    255 +                                    key (`tls.key`);
    256 +                                    - a PEM-encoded CA certificate (`ca.crt`)
    257 +
    258 +                                    and whichever are supplied, will be used for connecting to the
    259 +                                    bucket. The client cert and key are useful if you are
    260 +                                    authenticating with a certificate; the CA cert is useful if
    261 +                                    you are using a self-signed server certificate. The Secret must
    262 +                                    be of type `Opaque` or `kubernetes.io/tls`.
    263 +
    264 +                                    This field is only supported for the `generic` provider.
    265 +                                properties:
    266 +                                    name:
    267 +                                        description: Name of the referent.
    268 +                                        type: string
    269 +                                required:
    270 +                                    - name
    271 +                                type: object
    272 +                            endpoint:
    273 +                                description: Endpoint is the object storage address the BucketName is located at.
    274 +                                type: string
    275 +                            ignore:
    276 +                                description: |-
    277 +                                    Ignore overrides the set of excluded patterns in the .sourceignore format
    278 +                                    (which is the same as .gitignore). If not provided, a default will be used,
    279 +                                    consult the documentation for your version to find out what those are.
    280 +                                type: string
    281 +                            insecure:
    282 +                                description: Insecure allows connecting to a non-TLS HTTP Endpoint.
    283 +                                type: boolean
    284 +                            interval:
    285 +                                description: |-
    286 +                                    Interval at which the Bucket Endpoint is checked for updates.
    287 +                                    This interval is approximate and may be subject to jitter to ensure
    288 +                                    efficient use of resources.
    289 +                                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
    290 +                                type: string
    291 +                            prefix:
    292 +                                description: Prefix to use for server-side filtering of files in the Bucket.
    293 +                                type: string
    294 +                            provider:
    295 +                                default: generic
    296 +                                description: |-
    297 +                                    Provider of the object storage bucket.
    298 +                                    Defaults to 'generic', which expects an S3 (API) compatible object
    299 +                                    storage.
    300 +                                enum:
    301 +                                    - generic
    302 +                                    - aws
    303 +                                    - gcp
    304 +                                    - azure
    305 +                                type: string
    306 +                            proxySecretRef:
    307 +                                description: |-
    308 +                                    ProxySecretRef specifies the Secret containing the proxy configuration
    309 +                                    to use while communicating with the Bucket server.
    310 +                                properties:
    311 +                                    name:
    312 +                                        description: Name of the referent.
    313 +                                        type: string
    314 +                                required:
    315 +                                    - name
    316 +                                type: object
    317 +                            region:
    318 +                                description: Region of the Endpoint where the BucketName is located in.
    319 +                                type: string
    320 +                            secretRef:
    321 +                                description: |-
    322 +                                    SecretRef specifies the Secret containing authentication credentials
    323 +                                    for the Bucket.
    324 +                                properties:
    325 +                                    name:
    326 +                                        description: Name of the referent.
    327 +                                        type: string
    328 +                                required:
    329 +                                    - name
    330 +                                type: object
    331 +                            sts:
    332 +                                description: |-
    333 +                                    STS specifies the required configuration to use a Security Token
    334 +                                    Service for fetching temporary credentials to authenticate in a
    335 +                                    Bucket provider.
    336 +
    337 +                                    This field is only supported for the `aws` and `generic` providers.
    338 +                                properties:
    339 +                                    certSecretRef:
    340 +                                        description: |-
    341 +                                            CertSecretRef can be given the name of a Secret containing
    342 +                                            either or both of
    343 +
    344 +                                            - a PEM-encoded client certificate (`tls.crt`) and private
    345 +                                            key (`tls.key`);
    346 +                                            - a PEM-encoded CA certificate (`ca.crt`)
    347 +
    348 +                                            and whichever are supplied, will be used for connecting to the
    349 +                                            STS endpoint. The client cert and key are useful if you are
    350 +                                            authenticating with a certificate; the CA cert is useful if
    351 +                                            you are using a self-signed server certificate. The Secret must
    352 +                                            be of type `Opaque` or `kubernetes.io/tls`.
    353 +
    354 +                                            This field is only supported for the `ldap` provider.
    355 +                                        properties:
    356 +                                            name:
    357 +                                                description: Name of the referent.
    358 +                                                type: string
    359 +                                        required:
    360 +                                            - name
    361 +                                        type: object
    362 +                                    endpoint:
    363 +                                        description: |-
    364 +                                            Endpoint is the HTTP/S endpoint of the Security Token Service from
    365 +                                            where temporary credentials will be fetched.
    366 +                                        pattern: ^(http|https)://.*$
    367 +                                        type: string
    368 +                                    provider:
    369 +                                        description: Provider of the Security Token Service.
    370 +                                        enum:
    371 +                                            - aws
    372 +                                            - ldap
    373 +                                        type: string
    374 +                                    secretRef:
    375 +                                        description: |-
    376 +                                            SecretRef specifies the Secret containing authentication credentials
    377 +                                            for the STS endpoint. This Secret must contain the fields `username`
    378 +                                            and `password` and is supported only for the `ldap` provider.
    379 +                                        properties:
    380 +                                            name:
    381 +                                                description: Name of the referent.
    382 +                                                type: string
    383 +                                        required:
    384 +                                            - name
    385 +                                        type: object
    386 +                                required:
    387 +                                    - endpoint
    388 +                                    - provider
    389 +                                type: object
    390 +                            suspend:
    391 +                                description: |-
    392 +                                    Suspend tells the controller to suspend the reconciliation of this
    393 +                                    Bucket.
    394 +                                type: boolean
    395 +                            timeout:
    396 +                                default: 60s
    397 +                                description: Timeout for fetch operations, defaults to 60s.
    398 +                                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
    399 +                                type: string
    400 +                        required:
    401 +                            - bucketName
    402 +                            - endpoint
    403 +                            - interval
    404 +                        type: object
    405 +                        x-kubernetes-validations:
    406 +                            - message: STS configuration is only supported for the 'aws' and 'generic' Bucket providers
    407 +                              rule: self.provider == 'aws' || self.provider == 'generic' || !has(self.sts)
    408 +                            - message: '''aws'' is the only supported STS provider for the ''aws'' Bucket provider'
    409 +                              rule: self.provider != 'aws' || !has(self.sts) || self.sts.provider == 'aws'
    410 +                            - message: '''ldap'' is the only supported STS provider for the ''generic'' Bucket provider'
    411 +                              rule: self.provider != 'generic' || !has(self.sts) || self.sts.provider == 'ldap'
    412 +                            - message: spec.sts.secretRef is not required for the 'aws' STS provider
    413 +                              rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.secretRef)'
    414 +                            - message: spec.sts.certSecretRef is not required for the 'aws' STS provider
    415 +                              rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.certSecretRef)'
    416 +                    status:
    417 +                        default:
    418 +                            observedGeneration: -1
    419 +                        description: BucketStatus records the observed state of a Bucket.
    420 +                        properties:
    421 +                            artifact:
    422 +                                description: Artifact represents the last successful Bucket reconciliation.
    423 +                                properties:
    424 +                                    digest:
    425 +                                        description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
    426 +                                        pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
    427 +                                        type: string
    428 +                                    lastUpdateTime:
    429 +                                        description: |-
    430 +                                            LastUpdateTime is the timestamp corresponding to the last update of the
    431 +                                            Artifact.
    432 +                                        format: date-time
    433 +                                        type: string
    434 +                                    metadata:
    435 +                                        additionalProperties:
    436 +                                            type: string
    437 +                                        description: Metadata holds upstream information such as OCI annotations.
    438 +                                        type: object
    439 +                                    path:
    440 +                                        description: |-
    441 +                                            Path is the relative file path of the Artifact. It can be used to locate
    442 +                                            the file in the root of the Artifact storage on the local file system of
    443 +                                            the controller managing the Source.
    444 +                                        type: string
    445 +                                    revision:
    446 +                                        description: |-
    447 +                                            Revision is a human-readable identifier traceable in the origin source
    448 +                                            system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
    449 +                                        type: string
    450 +                                    size:
    451 +                                        description: Size is the number of bytes in the file.
    452 +                                        format: int64
    453 +                                        type: integer
    454 +                                    url:
    455 +                                        description: |-
    456 +                                            URL is the HTTP address of the Artifact as exposed by the controller
    457 +                                            managing the Source. It can be used to retrieve the Artifact for
    458 +                                            consumption, e.g. by another controller applying the Artifact contents.
    459 +                                        type: string
    460 +                                required:
    461 +                                    - lastUpdateTime
    462 +                                    - path
    463 +                                    - revision
    464 +                                    - url
    465 +                                type: object
    466 +                            conditions:
    467 +                                description: Conditions holds the conditions for the Bucket.
    468 +                                items:
    469 +                                    description: Condition contains details for one aspect of the current state of this API
    470 +                                        Resource.
    471 +                                    properties:
    472 +                                        lastTransitionTime:
    473 +                                            description: |-
    474 +                                                lastTransitionTime is the last time the condition transitioned from one status to another.
    475 +                                                This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
    476 +                                            format: date-time
    477 +                                            type: string
    478 +                                        message:
    479 +                                            description: |-
    480 +                                                message is a human readable message indicating details about the transition.
    481 +                                                This may be an empty string.
    482 +                                            maxLength: 32768
    483 +                                            type: string
    484 +                                        observedGeneration:
    485 +                                            description: |-
    486 +                                                observedGeneration represents the .metadata.generation that the condition was set based upon.
    487 +                                                For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
    488 +                                                with respect to the current state of the instance.
    489 +                                            format: int64
    490 +                                            minimum: 0
    491 +                                            type: integer
    492 +                                        reason:
    493 +                                            description: |-
    494 +                                                reason contains a programmatic identifier indicating the reason for the condition's last transition.
    495 +                                                Producers of specific condition types may define expected values and meanings for this field,
    496 +                                                and whether the values are considered a guaranteed API.
    497 +                                                The value should be a CamelCase string.
    498 +                                                This field may not be empty.
    499 +                                            maxLength: 1024
    500 +                                            minLength: 1
    501 +                                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
    502 +                                            type: string
    503 +                                        status:
    504 +                                            description: status of the condition, one of True, False, Unknown.
    505 +                                            enum:
    506 +                                                - "True"
    507 +                                                - "False"
    508 +                                                - Unknown
    509 +                                            type: string
    510 +                                        type:
    511 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
    512 +                                            maxLength: 316
    513 +                                            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])$
    514 +                                            type: string
    515 +                                    required:
    516 +                                        - lastTransitionTime
    517 +                                        - message
    518 +                                        - reason
    519 +                                        - status
    520 +                                        - type
    521 +                                    type: object
    522 +                                type: array
    523 +                            lastHandledReconcileAt:
    524 +                                description: |-
    525 +                                    LastHandledReconcileAt holds the value of the most recent
    526 +                                    reconcile request value, so a change of the annotation value
    527 +                                    can be detected.
    528 +                                type: string
    529 +                            observedGeneration:
    530 +                                description: ObservedGeneration is the last observed generation of the Bucket object.
    531 +                                format: int64
    532 +                                type: integer
    533 +                            observedIgnore:
    534 +                                description: |-
    535 +                                    ObservedIgnore is the observed exclusion patterns used for constructing
    536 +                                    the source artifact.
    537 +                                type: string
    538 +                            url:
    539 +                                description: |-
    540 +                                    URL is the dynamic fetch link for the latest Artifact.
    541 +                                    It is provided on a "best effort" basis, and using the precise
    542 +                                    BucketStatus.Artifact data is recommended.
    543 +                                type: string
    544 +                        type: object
    545 +                type: object
    546 +          served: true
    547 +          storage: true
    548 +          subresources:
    549 +            status: {}
    550          - additionalPrinterColumns:
    551              - jsonPath: .spec.endpoint
    552                name: Endpoint
    553 @@ -322,7 +666,7 @@ spec:
    554                name: Age
    555                type: date
    556            deprecated: true
    557 -          deprecationWarning: v1beta1 Bucket is deprecated, upgrade to v1beta2
    558 +          deprecationWarning: v1beta1 Bucket is deprecated, upgrade to v1
    559            name: v1beta1
    560            schema:
    561              openAPIV3Schema:
    562 @@ -456,21 +800,15 @@ spec:
    563                                          description: URL is the HTTP address of this artifact.
    564                                          type: string
    565                                  required:
    566 +                                    - lastUpdateTime
    567                                      - path
    568                                      - url
    569                                  type: object
    570                              conditions:
    571                                  description: Conditions holds the conditions for the Bucket.
    572                                  items:
    573 -                                    description: "Condition contains details for one aspect of the current state of this API
    574 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
    575 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
    576 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
    577 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
    578 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
    579 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
    580 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
    581 -                                        fields\n\t}"
    582 +                                    description: Condition contains details for one aspect of the current state of this API
    583 +                                        Resource.
    584                                      properties:
    585                                          lastTransitionTime:
    586                                              description: |-
    587 @@ -511,12 +849,7 @@ spec:
    588                                                  - Unknown
    589                                              type: string
    590                                          type:
    591 -                                            description: |-
    592 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
    593 -                                                ---
    594 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
    595 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
    596 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
    597 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
    598                                              maxLength: 316
    599                                              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])$
    600                                              type: string
    601 @@ -560,6 +893,8 @@ spec:
    602              - jsonPath: .status.conditions[?(@.type=="Ready")].message
    603                name: Status
    604                type: string
    605 +          deprecated: true
    606 +          deprecationWarning: v1beta2 Bucket is deprecated, upgrade to v1
    607            name: v1beta2
    608            schema:
    609              openAPIV3Schema:
    610 @@ -618,6 +953,29 @@ spec:
    611                              bucketName:
    612                                  description: BucketName is the name of the object storage bucket.
    613                                  type: string
    614 +                            certSecretRef:
    615 +                                description: |-
    616 +                                    CertSecretRef can be given the name of a Secret containing
    617 +                                    either or both of
    618 +
    619 +                                    - a PEM-encoded client certificate (`tls.crt`) and private
    620 +                                    key (`tls.key`);
    621 +                                    - a PEM-encoded CA certificate (`ca.crt`)
    622 +
    623 +                                    and whichever are supplied, will be used for connecting to the
    624 +                                    bucket. The client cert and key are useful if you are
    625 +                                    authenticating with a certificate; the CA cert is useful if
    626 +                                    you are using a self-signed server certificate. The Secret must
    627 +                                    be of type `Opaque` or `kubernetes.io/tls`.
    628 +
    629 +                                    This field is only supported for the `generic` provider.
    630 +                                properties:
    631 +                                    name:
    632 +                                        description: Name of the referent.
    633 +                                        type: string
    634 +                                required:
    635 +                                    - name
    636 +                                type: object
    637                              endpoint:
    638                                  description: Endpoint is the object storage address the BucketName is located at.
    639                                  type: string
    640 @@ -652,6 +1010,17 @@ spec:
    641                                      - gcp
    642                                      - azure
    643                                  type: string
    644 +                            proxySecretRef:
    645 +                                description: |-
    646 +                                    ProxySecretRef specifies the Secret containing the proxy configuration
    647 +                                    to use while communicating with the Bucket server.
    648 +                                properties:
    649 +                                    name:
    650 +                                        description: Name of the referent.
    651 +                                        type: string
    652 +                                required:
    653 +                                    - name
    654 +                                type: object
    655                              region:
    656                                  description: Region of the Endpoint where the BucketName is located in.
    657                                  type: string
    658 @@ -666,6 +1035,65 @@ spec:
    659                                  required:
    660                                      - name
    661                                  type: object
    662 +                            sts:
    663 +                                description: |-
    664 +                                    STS specifies the required configuration to use a Security Token
    665 +                                    Service for fetching temporary credentials to authenticate in a
    666 +                                    Bucket provider.
    667 +
    668 +                                    This field is only supported for the `aws` and `generic` providers.
    669 +                                properties:
    670 +                                    certSecretRef:
    671 +                                        description: |-
    672 +                                            CertSecretRef can be given the name of a Secret containing
    673 +                                            either or both of
    674 +
    675 +                                            - a PEM-encoded client certificate (`tls.crt`) and private
    676 +                                            key (`tls.key`);
    677 +                                            - a PEM-encoded CA certificate (`ca.crt`)
    678 +
    679 +                                            and whichever are supplied, will be used for connecting to the
    680 +                                            STS endpoint. The client cert and key are useful if you are
    681 +                                            authenticating with a certificate; the CA cert is useful if
    682 +                                            you are using a self-signed server certificate. The Secret must
    683 +                                            be of type `Opaque` or `kubernetes.io/tls`.
    684 +
    685 +                                            This field is only supported for the `ldap` provider.
    686 +                                        properties:
    687 +                                            name:
    688 +                                                description: Name of the referent.
    689 +                                                type: string
    690 +                                        required:
    691 +                                            - name
    692 +                                        type: object
    693 +                                    endpoint:
    694 +                                        description: |-
    695 +                                            Endpoint is the HTTP/S endpoint of the Security Token Service from
    696 +                                            where temporary credentials will be fetched.
    697 +                                        pattern: ^(http|https)://.*$
    698 +                                        type: string
    699 +                                    provider:
    700 +                                        description: Provider of the Security Token Service.
    701 +                                        enum:
    702 +                                            - aws
    703 +                                            - ldap
    704 +                                        type: string
    705 +                                    secretRef:
    706 +                                        description: |-
    707 +                                            SecretRef specifies the Secret containing authentication credentials
    708 +                                            for the STS endpoint. This Secret must contain the fields `username`
    709 +                                            and `password` and is supported only for the `ldap` provider.
    710 +                                        properties:
    711 +                                            name:
    712 +                                                description: Name of the referent.
    713 +                                                type: string
    714 +                                        required:
    715 +                                            - name
    716 +                                        type: object
    717 +                                required:
    718 +                                    - endpoint
    719 +                                    - provider
    720 +                                type: object
    721                              suspend:
    722                                  description: |-
    723                                      Suspend tells the controller to suspend the reconciliation of this
    724 @@ -681,6 +1109,17 @@ spec:
    725                              - endpoint
    726                              - interval
    727                          type: object
    728 +                        x-kubernetes-validations:
    729 +                            - message: STS configuration is only supported for the 'aws' and 'generic' Bucket providers
    730 +                              rule: self.provider == 'aws' || self.provider == 'generic' || !has(self.sts)
    731 +                            - message: '''aws'' is the only supported STS provider for the ''aws'' Bucket provider'
    732 +                              rule: self.provider != 'aws' || !has(self.sts) || self.sts.provider == 'aws'
    733 +                            - message: '''ldap'' is the only supported STS provider for the ''generic'' Bucket provider'
    734 +                              rule: self.provider != 'generic' || !has(self.sts) || self.sts.provider == 'ldap'
    735 +                            - message: spec.sts.secretRef is not required for the 'aws' STS provider
    736 +                              rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.secretRef)'
    737 +                            - message: spec.sts.certSecretRef is not required for the 'aws' STS provider
    738 +                              rule: '!has(self.sts) || self.sts.provider != ''aws'' || !has(self.sts.certSecretRef)'
    739                      status:
    740                          default:
    741                              observedGeneration: -1
    742 @@ -734,15 +1173,8 @@ spec:
    743                              conditions:
    744                                  description: Conditions holds the conditions for the Bucket.
    745                                  items:
    746 -                                    description: "Condition contains details for one aspect of the current state of this API
    747 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
    748 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
    749 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
    750 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
    751 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
    752 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
    753 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
    754 -                                        fields\n\t}"
    755 +                                    description: Condition contains details for one aspect of the current state of this API
    756 +                                        Resource.
    757                                      properties:
    758                                          lastTransitionTime:
    759                                              description: |-
    760 @@ -783,12 +1215,7 @@ spec:
    761                                                  - Unknown
    762                                              type: string
    763                                          type:
    764 -                                            description: |-
    765 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
    766 -                                                ---
    767 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
    768 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
    769 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
    770 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
    771                                              maxLength: 316
    772                                              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])$
    773                                              type: string
    774 @@ -824,7 +1251,7 @@ spec:
    775                          type: object
    776                  type: object
    777            served: true
    778 -          storage: true
    779 +          storage: false
    780            subresources:
    781              status: {}
    782  ---
    783 @@ -832,12 +1259,12 @@ apiVersion: apiextensions.k8s.io/v1
    784  kind: CustomResourceDefinition
    785  metadata:
    786      annotations:
    787 -        controller-gen.kubebuilder.io/version: v0.15.0
    788 +        controller-gen.kubebuilder.io/version: v0.16.1
    789      labels:
    790          app.kubernetes.io/component: source-controller
    791          app.kubernetes.io/instance: flux-system
    792          app.kubernetes.io/part-of: flux
    793 -        app.kubernetes.io/version: v2.3.0
    794 +        app.kubernetes.io/version: v2.4.0
    795      name: gitrepositories.source.toolkit.fluxcd.io
    796  spec:
    797      group: source.toolkit.fluxcd.io
    798 @@ -937,6 +1364,14 @@ spec:
    799                                      efficient use of resources.
    800                                  pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
    801                                  type: string
    802 +                            provider:
    803 +                                description: |-
    804 +                                    Provider used for authentication, can be 'azure', 'generic'.
    805 +                                    When not specified, defaults to 'generic'.
    806 +                                enum:
    807 +                                    - generic
    808 +                                    - azure
    809 +                                type: string
    810                              proxySecretRef:
    811                                  description: |-
    812                                      ProxySecretRef specifies the Secret containing the proxy configuration
    813 @@ -965,7 +1400,6 @@ spec:
    814                                          description: |-
    815                                              Commit SHA to check out, takes precedence over all reference fields.
    816  
    817 -
    818                                              This can be combined with Branch to shallow clone the branch, in which
    819                                              the commit is expected to exist.
    820                                          type: string
    821 @@ -973,7 +1407,6 @@ spec:
    822                                          description: |-
    823                                              Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
    824  
    825 -
    826                                              It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
    827                                              Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
    828                                          type: string
    829 @@ -1023,7 +1456,6 @@ spec:
    830                                          description: |-
    831                                              Mode specifies which Git object(s) should be verified.
    832  
    833 -
    834                                              The variants "head" and "HEAD" both imply the same thing, i.e. verify
    835                                              the commit that the HEAD of the Git repository points to. The variant
    836                                              "head" solely exists to ensure backwards compatibility.
    837 @@ -1104,15 +1536,8 @@ spec:
    838                              conditions:
    839                                  description: Conditions holds the conditions for the GitRepository.
    840                                  items:
    841 -                                    description: "Condition contains details for one aspect of the current state of this API
    842 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
    843 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
    844 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
    845 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
    846 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
    847 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
    848 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
    849 -                                        fields\n\t}"
    850 +                                    description: Condition contains details for one aspect of the current state of this API
    851 +                                        Resource.
    852                                      properties:
    853                                          lastTransitionTime:
    854                                              description: |-
    855 @@ -1153,12 +1578,7 @@ spec:
    856                                                  - Unknown
    857                                              type: string
    858                                          type:
    859 -                                            description: |-
    860 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
    861 -                                                ---
    862 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
    863 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
    864 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
    865 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
    866                                              maxLength: 316
    867                                              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])$
    868                                              type: string
    869 @@ -1499,21 +1919,15 @@ spec:
    870                                          description: URL is the HTTP address of this artifact.
    871                                          type: string
    872                                  required:
    873 +                                    - lastUpdateTime
    874                                      - path
    875                                      - url
    876                                  type: object
    877                              conditions:
    878                                  description: Conditions holds the conditions for the GitRepository.
    879                                  items:
    880 -                                    description: "Condition contains details for one aspect of the current state of this API
    881 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
    882 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
    883 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
    884 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
    885 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
    886 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
    887 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
    888 -                                        fields\n\t}"
    889 +                                    description: Condition contains details for one aspect of the current state of this API
    890 +                                        Resource.
    891                                      properties:
    892                                          lastTransitionTime:
    893                                              description: |-
    894 @@ -1554,12 +1968,7 @@ spec:
    895                                                  - Unknown
    896                                              type: string
    897                                          type:
    898 -                                            description: |-
    899 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
    900 -                                                ---
    901 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
    902 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
    903 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
    904 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
    905                                              maxLength: 316
    906                                              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])$
    907                                              type: string
    908 @@ -1599,6 +2008,7 @@ spec:
    909                                              description: URL is the HTTP address of this artifact.
    910                                              type: string
    911                                      required:
    912 +                                        - lastUpdateTime
    913                                          - path
    914                                          - url
    915                                      type: object
    916 @@ -1766,7 +2176,6 @@ spec:
    917                                          description: |-
    918                                              Commit SHA to check out, takes precedence over all reference fields.
    919  
    920 -
    921                                              This can be combined with Branch to shallow clone the branch, in which
    922                                              the commit is expected to exist.
    923                                          type: string
    924 @@ -1774,7 +2183,6 @@ spec:
    925                                          description: |-
    926                                              Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
    927  
    928 -
    929                                              It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
    930                                              Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
    931                                          type: string
    932 @@ -1896,15 +2304,8 @@ spec:
    933                              conditions:
    934                                  description: Conditions holds the conditions for the GitRepository.
    935                                  items:
    936 -                                    description: "Condition contains details for one aspect of the current state of this API
    937 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
    938 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
    939 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
    940 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
    941 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
    942 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
    943 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
    944 -                                        fields\n\t}"
    945 +                                    description: Condition contains details for one aspect of the current state of this API
    946 +                                        Resource.
    947                                      properties:
    948                                          lastTransitionTime:
    949                                              description: |-
    950 @@ -1945,12 +2346,7 @@ spec:
    951                                                  - Unknown
    952                                              type: string
    953                                          type:
    954 -                                            description: |-
    955 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
    956 -                                                ---
    957 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
    958 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
    959 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
    960 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
    961                                              maxLength: 316
    962                                              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])$
    963                                              type: string
    964 @@ -1974,7 +2370,6 @@ spec:
    965                                      changed.
    966                                      It has the format of `<algo>:<checksum>`, for example: `sha256:<checksum>`.
    967  
    968 -
    969                                      Deprecated: Replaced with explicit fields for observed artifact content
    970                                      config in the status.
    971                                  type: string
    972 @@ -2101,12 +2496,12 @@ apiVersion: apiextensions.k8s.io/v1
    973  kind: CustomResourceDefinition
    974  metadata:
    975      annotations:
    976 -        controller-gen.kubebuilder.io/version: v0.15.0
    977 +        controller-gen.kubebuilder.io/version: v0.16.1
    978      labels:
    979          app.kubernetes.io/component: source-controller
    980          app.kubernetes.io/instance: flux-system
    981          app.kubernetes.io/part-of: flux
    982 -        app.kubernetes.io/version: v2.3.0
    983 +        app.kubernetes.io/version: v2.4.0
    984      name: helmcharts.source.toolkit.fluxcd.io
    985  spec:
    986      group: source.toolkit.fluxcd.io
    987 @@ -2352,15 +2747,8 @@ spec:
    988                              conditions:
    989                                  description: Conditions holds the conditions for the HelmChart.
    990                                  items:
    991 -                                    description: "Condition contains details for one aspect of the current state of this API
    992 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
    993 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
    994 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
    995 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
    996 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
    997 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
    998 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
    999 -                                        fields\n\t}"
   1000 +                                    description: Condition contains details for one aspect of the current state of this API
   1001 +                                        Resource.
   1002                                      properties:
   1003                                          lastTransitionTime:
   1004                                              description: |-
   1005 @@ -2401,12 +2789,7 @@ spec:
   1006                                                  - Unknown
   1007                                              type: string
   1008                                          type:
   1009 -                                            description: |-
   1010 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1011 -                                                ---
   1012 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1013 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1014 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1015 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1016                                              maxLength: 316
   1017                                              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])$
   1018                                              type: string
   1019 @@ -2634,21 +3017,15 @@ spec:
   1020                                          description: URL is the HTTP address of this artifact.
   1021                                          type: string
   1022                                  required:
   1023 +                                    - lastUpdateTime
   1024                                      - path
   1025                                      - url
   1026                                  type: object
   1027                              conditions:
   1028                                  description: Conditions holds the conditions for the HelmChart.
   1029                                  items:
   1030 -                                    description: "Condition contains details for one aspect of the current state of this API
   1031 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1032 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1033 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1034 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1035 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1036 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1037 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1038 -                                        fields\n\t}"
   1039 +                                    description: Condition contains details for one aspect of the current state of this API
   1040 +                                        Resource.
   1041                                      properties:
   1042                                          lastTransitionTime:
   1043                                              description: |-
   1044 @@ -2689,12 +3066,7 @@ spec:
   1045                                                  - Unknown
   1046                                              type: string
   1047                                          type:
   1048 -                                            description: |-
   1049 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1050 -                                                ---
   1051 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1052 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1053 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1054 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1055                                              maxLength: 316
   1056                                              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])$
   1057                                              type: string
   1058 @@ -2995,15 +3367,8 @@ spec:
   1059                              conditions:
   1060                                  description: Conditions holds the conditions for the HelmChart.
   1061                                  items:
   1062 -                                    description: "Condition contains details for one aspect of the current state of this API
   1063 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1064 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1065 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1066 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1067 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1068 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1069 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1070 -                                        fields\n\t}"
   1071 +                                    description: Condition contains details for one aspect of the current state of this API
   1072 +                                        Resource.
   1073                                      properties:
   1074                                          lastTransitionTime:
   1075                                              description: |-
   1076 @@ -3044,12 +3409,7 @@ spec:
   1077                                                  - Unknown
   1078                                              type: string
   1079                                          type:
   1080 -                                            description: |-
   1081 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1082 -                                                ---
   1083 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1084 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1085 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1086 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1087                                              maxLength: 316
   1088                                              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])$
   1089                                              type: string
   1090 @@ -3108,12 +3468,12 @@ apiVersion: apiextensions.k8s.io/v1
   1091  kind: CustomResourceDefinition
   1092  metadata:
   1093      annotations:
   1094 -        controller-gen.kubebuilder.io/version: v0.15.0
   1095 +        controller-gen.kubebuilder.io/version: v0.16.1
   1096      labels:
   1097          app.kubernetes.io/component: source-controller
   1098          app.kubernetes.io/instance: flux-system
   1099          app.kubernetes.io/part-of: flux
   1100 -        app.kubernetes.io/version: v2.3.0
   1101 +        app.kubernetes.io/version: v2.4.0
   1102      name: helmrepositories.source.toolkit.fluxcd.io
   1103  spec:
   1104      group: source.toolkit.fluxcd.io
   1105 @@ -3199,19 +3559,16 @@ spec:
   1106                                      CertSecretRef can be given the name of a Secret containing
   1107                                      either or both of
   1108  
   1109 -
   1110                                      - a PEM-encoded client certificate (`tls.crt`) and private
   1111                                      key (`tls.key`);
   1112                                      - a PEM-encoded CA certificate (`ca.crt`)
   1113  
   1114 -
   1115                                      and whichever are supplied, will be used for connecting to the
   1116                                      registry. The client cert and key are useful if you are
   1117                                      authenticating with a certificate; the CA cert is useful if
   1118                                      you are using a self-signed server certificate. The Secret must
   1119                                      be of type `Opaque` or `kubernetes.io/tls`.
   1120  
   1121 -
   1122                                      It takes precedence over the values specified in the Secret referred
   1123                                      to by `.spec.secretRef`.
   1124                                  properties:
   1125 @@ -3352,15 +3709,8 @@ spec:
   1126                              conditions:
   1127                                  description: Conditions holds the conditions for the HelmRepository.
   1128                                  items:
   1129 -                                    description: "Condition contains details for one aspect of the current state of this API
   1130 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1131 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1132 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1133 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1134 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1135 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1136 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1137 -                                        fields\n\t}"
   1138 +                                    description: Condition contains details for one aspect of the current state of this API
   1139 +                                        Resource.
   1140                                      properties:
   1141                                          lastTransitionTime:
   1142                                              description: |-
   1143 @@ -3401,12 +3751,7 @@ spec:
   1144                                                  - Unknown
   1145                                              type: string
   1146                                          type:
   1147 -                                            description: |-
   1148 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1149 -                                                ---
   1150 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1151 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1152 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1153 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1154                                              maxLength: 316
   1155                                              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])$
   1156                                              type: string
   1157 @@ -3579,21 +3924,15 @@ spec:
   1158                                          description: URL is the HTTP address of this artifact.
   1159                                          type: string
   1160                                  required:
   1161 +                                    - lastUpdateTime
   1162                                      - path
   1163                                      - url
   1164                                  type: object
   1165                              conditions:
   1166                                  description: Conditions holds the conditions for the HelmRepository.
   1167                                  items:
   1168 -                                    description: "Condition contains details for one aspect of the current state of this API
   1169 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1170 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1171 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1172 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1173 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1174 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1175 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1176 -                                        fields\n\t}"
   1177 +                                    description: Condition contains details for one aspect of the current state of this API
   1178 +                                        Resource.
   1179                                      properties:
   1180                                          lastTransitionTime:
   1181                                              description: |-
   1182 @@ -3634,12 +3973,7 @@ spec:
   1183                                                  - Unknown
   1184                                              type: string
   1185                                          type:
   1186 -                                            description: |-
   1187 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1188 -                                                ---
   1189 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1190 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1191 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1192 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1193                                              maxLength: 316
   1194                                              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])$
   1195                                              type: string
   1196 @@ -3745,19 +4079,16 @@ spec:
   1197                                      CertSecretRef can be given the name of a Secret containing
   1198                                      either or both of
   1199  
   1200 -
   1201                                      - a PEM-encoded client certificate (`tls.crt`) and private
   1202                                      key (`tls.key`);
   1203                                      - a PEM-encoded CA certificate (`ca.crt`)
   1204  
   1205 -
   1206                                      and whichever are supplied, will be used for connecting to the
   1207                                      registry. The client cert and key are useful if you are
   1208                                      authenticating with a certificate; the CA cert is useful if
   1209                                      you are using a self-signed server certificate. The Secret must
   1210                                      be of type `Opaque` or `kubernetes.io/tls`.
   1211  
   1212 -
   1213                                      It takes precedence over the values specified in the Secret referred
   1214                                      to by `.spec.secretRef`.
   1215                                  properties:
   1216 @@ -3898,15 +4229,8 @@ spec:
   1217                              conditions:
   1218                                  description: Conditions holds the conditions for the HelmRepository.
   1219                                  items:
   1220 -                                    description: "Condition contains details for one aspect of the current state of this API
   1221 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1222 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1223 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1224 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1225 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1226 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1227 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1228 -                                        fields\n\t}"
   1229 +                                    description: Condition contains details for one aspect of the current state of this API
   1230 +                                        Resource.
   1231                                      properties:
   1232                                          lastTransitionTime:
   1233                                              description: |-
   1234 @@ -3947,12 +4271,7 @@ spec:
   1235                                                  - Unknown
   1236                                              type: string
   1237                                          type:
   1238 -                                            description: |-
   1239 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1240 -                                                ---
   1241 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1242 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1243 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1244 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1245                                              maxLength: 316
   1246                                              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])$
   1247                                              type: string
   1248 @@ -3993,12 +4312,12 @@ apiVersion: apiextensions.k8s.io/v1
   1249  kind: CustomResourceDefinition
   1250  metadata:
   1251      annotations:
   1252 -        controller-gen.kubebuilder.io/version: v0.15.0
   1253 +        controller-gen.kubebuilder.io/version: v0.16.1
   1254      labels:
   1255          app.kubernetes.io/component: source-controller
   1256          app.kubernetes.io/instance: flux-system
   1257          app.kubernetes.io/part-of: flux
   1258 -        app.kubernetes.io/version: v2.3.0
   1259 +        app.kubernetes.io/version: v2.4.0
   1260      name: ocirepositories.source.toolkit.fluxcd.io
   1261  spec:
   1262      group: source.toolkit.fluxcd.io
   1263 @@ -4054,19 +4373,16 @@ spec:
   1264                                      CertSecretRef can be given the name of a Secret containing
   1265                                      either or both of
   1266  
   1267 -
   1268                                      - a PEM-encoded client certificate (`tls.crt`) and private
   1269                                      key (`tls.key`);
   1270                                      - a PEM-encoded CA certificate (`ca.crt`)
   1271  
   1272 -
   1273                                      and whichever are supplied, will be used for connecting to the
   1274                                      registry. The client cert and key are useful if you are
   1275                                      authenticating with a certificate; the CA cert is useful if
   1276                                      you are using a self-signed server certificate. The Secret must
   1277                                      be of type `Opaque` or `kubernetes.io/tls`.
   1278  
   1279 -
   1280                                      Note: Support for the `caFile`, `certFile` and `keyFile` keys have
   1281                                      been deprecated.
   1282                                  properties:
   1283 @@ -4125,6 +4441,17 @@ spec:
   1284                                      - azure
   1285                                      - gcp
   1286                                  type: string
   1287 +                            proxySecretRef:
   1288 +                                description: |-
   1289 +                                    ProxySecretRef specifies the Secret containing the proxy configuration
   1290 +                                    to use while communicating with the container registry.
   1291 +                                properties:
   1292 +                                    name:
   1293 +                                        description: Name of the referent.
   1294 +                                        type: string
   1295 +                                required:
   1296 +                                    - name
   1297 +                                type: object
   1298                              ref:
   1299                                  description: |-
   1300                                      The OCI reference to pull and monitor for changes,
   1301 @@ -4292,15 +4619,8 @@ spec:
   1302                              conditions:
   1303                                  description: Conditions holds the conditions for the OCIRepository.
   1304                                  items:
   1305 -                                    description: "Condition contains details for one aspect of the current state of this API
   1306 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1307 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1308 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1309 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1310 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1311 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1312 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1313 -                                        fields\n\t}"
   1314 +                                    description: Condition contains details for one aspect of the current state of this API
   1315 +                                        Resource.
   1316                                      properties:
   1317                                          lastTransitionTime:
   1318                                              description: |-
   1319 @@ -4341,12 +4661,7 @@ spec:
   1320                                                  - Unknown
   1321                                              type: string
   1322                                          type:
   1323 -                                            description: |-
   1324 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1325 -                                                ---
   1326 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1327 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1328 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1329 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1330                                              maxLength: 316
   1331                                              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])$
   1332                                              type: string
   1333 @@ -4369,7 +4684,6 @@ spec:
   1334                                      artifact needs to be rebuilt.
   1335                                      It has the format of `<algo>:<checksum>`, for example: `sha256:<checksum>`.
   1336  
   1337 -
   1338                                      Deprecated: Replaced with explicit fields for observed artifact content
   1339                                      config in the status.
   1340                                  type: string
   1341 @@ -4427,7 +4741,7 @@ metadata:
   1342          app.kubernetes.io/component: source-controller
   1343          app.kubernetes.io/instance: flux-system
   1344          app.kubernetes.io/part-of: flux
   1345 -        app.kubernetes.io/version: v2.3.0
   1346 +        app.kubernetes.io/version: v2.4.0
   1347      name: source-controller
   1348      namespace: flux-system
   1349  ---
   1350 @@ -4438,7 +4752,7 @@ metadata:
   1351          app.kubernetes.io/component: source-controller
   1352          app.kubernetes.io/instance: flux-system
   1353          app.kubernetes.io/part-of: flux
   1354 -        app.kubernetes.io/version: v2.3.0
   1355 +        app.kubernetes.io/version: v2.4.0
   1356          control-plane: controller
   1357      name: source-controller
   1358      namespace: flux-system
   1359 @@ -4459,7 +4773,7 @@ metadata:
   1360          app.kubernetes.io/component: source-controller
   1361          app.kubernetes.io/instance: flux-system
   1362          app.kubernetes.io/part-of: flux
   1363 -        app.kubernetes.io/version: v2.3.0
   1364 +        app.kubernetes.io/version: v2.4.0
   1365          control-plane: controller
   1366      name: source-controller
   1367      namespace: flux-system
   1368 @@ -4504,7 +4818,7 @@ spec:
   1369                          resourceFieldRef:
   1370                              containerName: manager
   1371                              resource: limits.memory
   1372 -                  image: ghcr.io/fluxcd/source-controller:v1.3.0
   1373 +                  image: ghcr.io/fluxcd/source-controller:v1.4.1
   1374                    imagePullPolicy: IfNotPresent
   1375                    livenessProbe:
   1376                      httpGet:
   1377 @@ -4563,12 +4877,12 @@ apiVersion: apiextensions.k8s.io/v1
   1378  kind: CustomResourceDefinition
   1379  metadata:
   1380      annotations:
   1381 -        controller-gen.kubebuilder.io/version: v0.15.0
   1382 +        controller-gen.kubebuilder.io/version: v0.16.1
   1383      labels:
   1384          app.kubernetes.io/component: kustomize-controller
   1385          app.kubernetes.io/instance: flux-system
   1386          app.kubernetes.io/part-of: flux
   1387 -        app.kubernetes.io/version: v2.3.0
   1388 +        app.kubernetes.io/version: v2.4.0
   1389      name: kustomizations.kustomize.toolkit.fluxcd.io
   1390  spec:
   1391      group: kustomize.toolkit.fluxcd.io
   1392 @@ -4984,15 +5298,8 @@ spec:
   1393                          properties:
   1394                              conditions:
   1395                                  items:
   1396 -                                    description: "Condition contains details for one aspect of the current state of this API
   1397 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1398 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1399 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1400 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1401 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1402 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1403 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1404 -                                        fields\n\t}"
   1405 +                                    description: Condition contains details for one aspect of the current state of this API
   1406 +                                        Resource.
   1407                                      properties:
   1408                                          lastTransitionTime:
   1409                                              description: |-
   1410 @@ -5033,12 +5340,7 @@ spec:
   1411                                                  - Unknown
   1412                                              type: string
   1413                                          type:
   1414 -                                            description: |-
   1415 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1416 -                                                ---
   1417 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1418 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1419 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1420 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1421                                              maxLength: 316
   1422                                              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])$
   1423                                              type: string
   1424 @@ -5262,6 +5564,8 @@ spec:
   1425                                          required:
   1426                                              - name
   1427                                          type: object
   1428 +                                required:
   1429 +                                    - secretRef
   1430                                  type: object
   1431                              patches:
   1432                                  description: |-
   1433 @@ -5552,15 +5856,8 @@ spec:
   1434                          properties:
   1435                              conditions:
   1436                                  items:
   1437 -                                    description: "Condition contains details for one aspect of the current state of this API
   1438 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1439 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1440 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1441 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1442 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1443 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1444 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1445 -                                        fields\n\t}"
   1446 +                                    description: Condition contains details for one aspect of the current state of this API
   1447 +                                        Resource.
   1448                                      properties:
   1449                                          lastTransitionTime:
   1450                                              description: |-
   1451 @@ -5601,12 +5898,7 @@ spec:
   1452                                                  - Unknown
   1453                                              type: string
   1454                                          type:
   1455 -                                            description: |-
   1456 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1457 -                                                ---
   1458 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1459 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1460 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1461 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1462                                              maxLength: 316
   1463                                              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])$
   1464                                              type: string
   1465 @@ -6170,15 +6462,8 @@ spec:
   1466                          properties:
   1467                              conditions:
   1468                                  items:
   1469 -                                    description: "Condition contains details for one aspect of the current state of this API
   1470 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1471 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1472 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1473 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1474 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1475 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1476 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1477 -                                        fields\n\t}"
   1478 +                                    description: Condition contains details for one aspect of the current state of this API
   1479 +                                        Resource.
   1480                                      properties:
   1481                                          lastTransitionTime:
   1482                                              description: |-
   1483 @@ -6219,12 +6504,7 @@ spec:
   1484                                                  - Unknown
   1485                                              type: string
   1486                                          type:
   1487 -                                            description: |-
   1488 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1489 -                                                ---
   1490 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1491 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1492 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1493 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1494                                              maxLength: 316
   1495                                              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])$
   1496                                              type: string
   1497 @@ -6295,7 +6575,7 @@ metadata:
   1498          app.kubernetes.io/component: kustomize-controller
   1499          app.kubernetes.io/instance: flux-system
   1500          app.kubernetes.io/part-of: flux
   1501 -        app.kubernetes.io/version: v2.3.0
   1502 +        app.kubernetes.io/version: v2.4.0
   1503      name: kustomize-controller
   1504      namespace: flux-system
   1505  ---
   1506 @@ -6306,7 +6586,7 @@ metadata:
   1507          app.kubernetes.io/component: kustomize-controller
   1508          app.kubernetes.io/instance: flux-system
   1509          app.kubernetes.io/part-of: flux
   1510 -        app.kubernetes.io/version: v2.3.0
   1511 +        app.kubernetes.io/version: v2.4.0
   1512          control-plane: controller
   1513      name: kustomize-controller
   1514      namespace: flux-system
   1515 @@ -6345,7 +6625,7 @@ spec:
   1516                          resourceFieldRef:
   1517                              containerName: manager
   1518                              resource: limits.memory
   1519 -                  image: ghcr.io/fluxcd/kustomize-controller:v1.3.0
   1520 +                  image: ghcr.io/fluxcd/kustomize-controller:v1.4.0
   1521                    imagePullPolicy: IfNotPresent
   1522                    livenessProbe:
   1523                      httpGet:
   1524 @@ -6397,12 +6677,12 @@ apiVersion: apiextensions.k8s.io/v1
   1525  kind: CustomResourceDefinition
   1526  metadata:
   1527      annotations:
   1528 -        controller-gen.kubebuilder.io/version: v0.15.0
   1529 +        controller-gen.kubebuilder.io/version: v0.16.1
   1530      labels:
   1531          app.kubernetes.io/component: helm-controller
   1532          app.kubernetes.io/instance: flux-system
   1533          app.kubernetes.io/part-of: flux
   1534 -        app.kubernetes.io/version: v2.3.0
   1535 +        app.kubernetes.io/version: v2.4.0
   1536      name: helmreleases.helm.toolkit.fluxcd.io
   1537  spec:
   1538      group: helm.toolkit.fluxcd.io
   1539 @@ -6530,6 +6810,7 @@ spec:
   1540                                                          minLength: 1
   1541                                                          type: string
   1542                                                  required:
   1543 +                                                    - kind
   1544                                                      - name
   1545                                                  type: object
   1546                                              valuesFiles:
   1547 @@ -6727,17 +7008,13 @@ spec:
   1548                                              `Create` or `CreateReplace`. Default is `Create` and if omitted
   1549                                              CRDs are installed but not updated.
   1550  
   1551 -
   1552                                              Skip: do neither install nor replace (update) any CRDs.
   1553  
   1554 -
   1555                                              Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   1556  
   1557 -
   1558                                              CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   1559                                              but not deleted.
   1560  
   1561 -
   1562                                              By default, CRDs are applied (installed) during Helm install action.
   1563                                              With this option users can opt in to CRD replace existing CRDs on Helm
   1564                                              install actions, which is not (yet) natively supported by Helm.
   1565 @@ -6761,6 +7038,11 @@ spec:
   1566                                              DisableOpenAPIValidation prevents the Helm install action from validating
   1567                                              rendered templates against the Kubernetes OpenAPI Schema.
   1568                                          type: boolean
   1569 +                                    disableSchemaValidation:
   1570 +                                        description: |-
   1571 +                                            DisableSchemaValidation prevents the Helm install action from validating
   1572 +                                            the values against the JSON Schema.
   1573 +                                        type: boolean
   1574                                      disableWait:
   1575                                          description: |-
   1576                                              DisableWait disables the waiting for resources to be ready after a Helm
   1577 @@ -6804,7 +7086,6 @@ spec:
   1578                                              SkipCRDs tells the Helm install action to not install any CRDs. By default,
   1579                                              CRDs are installed if not already present.
   1580  
   1581 -
   1582                                              Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
   1583                                          type: boolean
   1584                                      timeout:
   1585 @@ -6865,13 +7146,11 @@ spec:
   1586                                      duration of the reconciliation, instead of being created and destroyed
   1587                                      for each (step of a) Helm action.
   1588  
   1589 -
   1590                                      This can improve performance, but may cause issues with some Helm charts
   1591                                      that for example do create Custom Resource Definitions during installation
   1592                                      outside Helm's CRD lifecycle hooks, which are then not observed to be
   1593                                      available by e.g. post-install hooks.
   1594  
   1595 -
   1596                                      If not set, it defaults to true.
   1597                                  type: boolean
   1598                              postRenderers:
   1599 @@ -7137,17 +7416,13 @@ spec:
   1600                                              `Create` or `CreateReplace`. Default is `Skip` and if omitted
   1601                                              CRDs are neither installed nor upgraded.
   1602  
   1603 -
   1604                                              Skip: do neither install nor replace (update) any CRDs.
   1605  
   1606 -
   1607                                              Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   1608  
   1609 -
   1610                                              CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   1611                                              but not deleted.
   1612  
   1613 -
   1614                                              By default, CRDs are not applied during Helm upgrade action. With this
   1615                                              option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
   1616                                              https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
   1617 @@ -7164,6 +7439,11 @@ spec:
   1618                                              DisableOpenAPIValidation prevents the Helm upgrade action from validating
   1619                                              rendered templates against the Kubernetes OpenAPI Schema.
   1620                                          type: boolean
   1621 +                                    disableSchemaValidation:
   1622 +                                        description: |-
   1623 +                                            DisableSchemaValidation prevents the Helm upgrade action from validating
   1624 +                                            the values against the JSON Schema.
   1625 +                                        type: boolean
   1626                                      disableWait:
   1627                                          description: |-
   1628                                              DisableWait disables the waiting for resources to be ready after a Helm
   1629 @@ -7285,15 +7565,8 @@ spec:
   1630                              conditions:
   1631                                  description: Conditions holds the conditions for the HelmRelease.
   1632                                  items:
   1633 -                                    description: "Condition contains details for one aspect of the current state of this API
   1634 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1635 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1636 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1637 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1638 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1639 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1640 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1641 -                                        fields\n\t}"
   1642 +                                    description: Condition contains details for one aspect of the current state of this API
   1643 +                                        Resource.
   1644                                      properties:
   1645                                          lastTransitionTime:
   1646                                              description: |-
   1647 @@ -7334,12 +7607,7 @@ spec:
   1648                                                  - Unknown
   1649                                              type: string
   1650                                          type:
   1651 -                                            description: |-
   1652 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1653 -                                                ---
   1654 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1655 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1656 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1657 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1658                                              maxLength: 316
   1659                                              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])$
   1660                                              type: string
   1661 @@ -7663,6 +7931,7 @@ spec:
   1662                                                          minLength: 1
   1663                                                          type: string
   1664                                                  required:
   1665 +                                                    - kind
   1666                                                      - name
   1667                                                  type: object
   1668                                              valuesFile:
   1669 @@ -7728,7 +7997,6 @@ spec:
   1670                                      ChartRef holds a reference to a source controller resource containing the
   1671                                      Helm chart artifact.
   1672  
   1673 -
   1674                                      Note: this field is provisional to the v2 API, and not actively used
   1675                                      by v2beta1 HelmReleases.
   1676                                  properties:
   1677 @@ -7783,7 +8051,6 @@ spec:
   1678                                      differences between the manifest in the Helm storage and the resources
   1679                                      currently existing in the cluster.
   1680  
   1681 -
   1682                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1683                                      by v2beta1 HelmReleases.
   1684                                  properties:
   1685 @@ -7873,17 +8140,13 @@ spec:
   1686                                              `Create` or `CreateReplace`. Default is `Create` and if omitted
   1687                                              CRDs are installed but not updated.
   1688  
   1689 -
   1690                                              Skip: do neither install nor replace (update) any CRDs.
   1691  
   1692 -
   1693                                              Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   1694  
   1695 -
   1696                                              CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   1697                                              but not deleted.
   1698  
   1699 -
   1700                                              By default, CRDs are applied (installed) during Helm install action.
   1701                                              With this option users can opt-in to CRD replace existing CRDs on Helm
   1702                                              install actions, which is not (yet) natively supported by Helm.
   1703 @@ -7950,7 +8213,6 @@ spec:
   1704                                              SkipCRDs tells the Helm install action to not install any CRDs. By default,
   1705                                              CRDs are installed if not already present.
   1706  
   1707 -
   1708                                              Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
   1709                                          type: boolean
   1710                                      timeout:
   1711 @@ -8014,13 +8276,11 @@ spec:
   1712                                      duration of the reconciliation, instead of being created and destroyed
   1713                                      for each (step of a) Helm action.
   1714  
   1715 -
   1716                                      This can improve performance, but may cause issues with some Helm charts
   1717                                      that for example do create Custom Resource Definitions during installation
   1718                                      outside Helm's CRD lifecycle hooks, which are then not observed to be
   1719                                      available by e.g. post-install hooks.
   1720  
   1721 -
   1722                                      If not set, it defaults to true.
   1723                                  type: boolean
   1724                              postRenderers:
   1725 @@ -8366,17 +8626,13 @@ spec:
   1726                                              `Create` or `CreateReplace`. Default is `Skip` and if omitted
   1727                                              CRDs are neither installed nor upgraded.
   1728  
   1729 -
   1730                                              Skip: do neither install nor replace (update) any CRDs.
   1731  
   1732 -
   1733                                              Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   1734  
   1735 -
   1736                                              CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   1737                                              but not deleted.
   1738  
   1739 -
   1740                                              By default, CRDs are not applied during Helm upgrade action. With this
   1741                                              option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
   1742                                              https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
   1743 @@ -8503,6 +8759,7 @@ spec:
   1744                                      type: object
   1745                                  type: array
   1746                          required:
   1747 +                            - chart
   1748                              - interval
   1749                          type: object
   1750                      status:
   1751 @@ -8513,15 +8770,8 @@ spec:
   1752                              conditions:
   1753                                  description: Conditions holds the conditions for the HelmRelease.
   1754                                  items:
   1755 -                                    description: "Condition contains details for one aspect of the current state of this API
   1756 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1757 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1758 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1759 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1760 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1761 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1762 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1763 -                                        fields\n\t}"
   1764 +                                    description: Condition contains details for one aspect of the current state of this API
   1765 +                                        Resource.
   1766                                      properties:
   1767                                          lastTransitionTime:
   1768                                              description: |-
   1769 @@ -8562,12 +8812,7 @@ spec:
   1770                                                  - Unknown
   1771                                              type: string
   1772                                          type:
   1773 -                                            description: |-
   1774 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1775 -                                                ---
   1776 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1777 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1778 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1779 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1780                                              maxLength: 316
   1781                                              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])$
   1782                                              type: string
   1783 @@ -8595,7 +8840,6 @@ spec:
   1784                                      History holds the history of Helm releases performed for this HelmRelease
   1785                                      up to the last successfully completed release.
   1786  
   1787 -
   1788                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1789                                      by v2beta1 HelmReleases.
   1790                                  items:
   1791 @@ -8707,7 +8951,6 @@ spec:
   1792                                      LastAttemptedConfigDigest is the digest for the config (better known as
   1793                                      "values") of the last reconciliation attempt.
   1794  
   1795 -
   1796                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1797                                      by v2beta1 HelmReleases.
   1798                                  type: string
   1799 @@ -8716,7 +8959,6 @@ spec:
   1800                                      LastAttemptedGeneration is the last generation the controller attempted
   1801                                      to reconcile.
   1802  
   1803 -
   1804                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1805                                      by v2beta1 HelmReleases.
   1806                                  format: int64
   1807 @@ -8726,7 +8968,6 @@ spec:
   1808                                      LastAttemptedReleaseAction is the last release action performed for this
   1809                                      HelmRelease. It is used to determine the active remediation strategy.
   1810  
   1811 -
   1812                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1813                                      by v2beta1 HelmReleases.
   1814                                  type: string
   1815 @@ -8743,7 +8984,6 @@ spec:
   1816                                      LastHandledForceAt holds the value of the most recent force request
   1817                                      value, so a change of the annotation value can be detected.
   1818  
   1819 -
   1820                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1821                                      by v2beta1 HelmReleases.
   1822                                  type: string
   1823 @@ -8758,7 +8998,6 @@ spec:
   1824                                      LastHandledResetAt holds the value of the most recent reset request
   1825                                      value, so a change of the annotation value can be detected.
   1826  
   1827 -
   1828                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1829                                      by v2beta1 HelmReleases.
   1830                                  type: string
   1831 @@ -8779,7 +9018,6 @@ spec:
   1832                                      StorageNamespace is the namespace of the Helm release storage for the
   1833                                      current release.
   1834  
   1835 -
   1836                                      Note: this field is provisional to the v2beta2 API, and not actively used
   1837                                      by v2beta1 HelmReleases.
   1838                                  type: string
   1839 @@ -8912,6 +9150,7 @@ spec:
   1840                                                          minLength: 1
   1841                                                          type: string
   1842                                                  required:
   1843 +                                                    - kind
   1844                                                      - name
   1845                                                  type: object
   1846                                              valuesFile:
   1847 @@ -8979,7 +9218,6 @@ spec:
   1848                                      ChartRef holds a reference to a source controller resource containing the
   1849                                      Helm chart artifact.
   1850  
   1851 -
   1852                                      Note: this field is provisional to the v2 API, and not actively used
   1853                                      by v2beta2 HelmReleases.
   1854                                  properties:
   1855 @@ -9120,17 +9358,13 @@ spec:
   1856                                              `Create` or `CreateReplace`. Default is `Create` and if omitted
   1857                                              CRDs are installed but not updated.
   1858  
   1859 -
   1860                                              Skip: do neither install nor replace (update) any CRDs.
   1861  
   1862 -
   1863                                              Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   1864  
   1865 -
   1866                                              CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   1867                                              but not deleted.
   1868  
   1869 -
   1870                                              By default, CRDs are applied (installed) during Helm install action.
   1871                                              With this option users can opt in to CRD replace existing CRDs on Helm
   1872                                              install actions, which is not (yet) natively supported by Helm.
   1873 @@ -9197,7 +9431,6 @@ spec:
   1874                                              SkipCRDs tells the Helm install action to not install any CRDs. By default,
   1875                                              CRDs are installed if not already present.
   1876  
   1877 -
   1878                                              Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
   1879                                          type: boolean
   1880                                      timeout:
   1881 @@ -9258,13 +9491,11 @@ spec:
   1882                                      duration of the reconciliation, instead of being created and destroyed
   1883                                      for each (step of a) Helm action.
   1884  
   1885 -
   1886                                      This can improve performance, but may cause issues with some Helm charts
   1887                                      that for example do create Custom Resource Definitions during installation
   1888                                      outside Helm's CRD lifecycle hooks, which are then not observed to be
   1889                                      available by e.g. post-install hooks.
   1890  
   1891 -
   1892                                      If not set, it defaults to true.
   1893                                  type: boolean
   1894                              postRenderers:
   1895 @@ -9633,17 +9864,13 @@ spec:
   1896                                              `Create` or `CreateReplace`. Default is `Skip` and if omitted
   1897                                              CRDs are neither installed nor upgraded.
   1898  
   1899 -
   1900                                              Skip: do neither install nor replace (update) any CRDs.
   1901  
   1902 -
   1903                                              Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   1904  
   1905 -
   1906                                              CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   1907                                              but not deleted.
   1908  
   1909 -
   1910                                              By default, CRDs are not applied during Helm upgrade action. With this
   1911                                              option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
   1912                                              https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
   1913 @@ -9781,15 +10008,8 @@ spec:
   1914                              conditions:
   1915                                  description: Conditions holds the conditions for the HelmRelease.
   1916                                  items:
   1917 -                                    description: "Condition contains details for one aspect of the current state of this API
   1918 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   1919 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   1920 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   1921 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   1922 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   1923 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   1924 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   1925 -                                        fields\n\t}"
   1926 +                                    description: Condition contains details for one aspect of the current state of this API
   1927 +                                        Resource.
   1928                                      properties:
   1929                                          lastTransitionTime:
   1930                                              description: |-
   1931 @@ -9830,12 +10050,7 @@ spec:
   1932                                                  - Unknown
   1933                                              type: string
   1934                                          type:
   1935 -                                            description: |-
   1936 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   1937 -                                                ---
   1938 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   1939 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   1940 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   1941 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   1942                                              maxLength: 316
   1943                                              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])$
   1944                                              type: string
   1945 @@ -10062,7 +10277,7 @@ metadata:
   1946          app.kubernetes.io/component: helm-controller
   1947          app.kubernetes.io/instance: flux-system
   1948          app.kubernetes.io/part-of: flux
   1949 -        app.kubernetes.io/version: v2.3.0
   1950 +        app.kubernetes.io/version: v2.4.0
   1951      name: helm-controller
   1952      namespace: flux-system
   1953  ---
   1954 @@ -10073,7 +10288,7 @@ metadata:
   1955          app.kubernetes.io/component: helm-controller
   1956          app.kubernetes.io/instance: flux-system
   1957          app.kubernetes.io/part-of: flux
   1958 -        app.kubernetes.io/version: v2.3.0
   1959 +        app.kubernetes.io/version: v2.4.0
   1960          control-plane: controller
   1961      name: helm-controller
   1962      namespace: flux-system
   1963 @@ -10112,7 +10327,7 @@ spec:
   1964                          resourceFieldRef:
   1965                              containerName: manager
   1966                              resource: limits.memory
   1967 -                  image: ghcr.io/fluxcd/helm-controller:v1.0.1
   1968 +                  image: ghcr.io/fluxcd/helm-controller:v1.1.0
   1969                    imagePullPolicy: IfNotPresent
   1970                    livenessProbe:
   1971                      httpGet:
   1972 @@ -10164,12 +10379,12 @@ apiVersion: apiextensions.k8s.io/v1
   1973  kind: CustomResourceDefinition
   1974  metadata:
   1975      annotations:
   1976 -        controller-gen.kubebuilder.io/version: v0.15.0
   1977 +        controller-gen.kubebuilder.io/version: v0.16.1
   1978      labels:
   1979          app.kubernetes.io/component: notification-controller
   1980          app.kubernetes.io/instance: flux-system
   1981          app.kubernetes.io/part-of: flux
   1982 -        app.kubernetes.io/version: v2.3.0
   1983 +        app.kubernetes.io/version: v2.4.0
   1984      name: alerts.notification.toolkit.fluxcd.io
   1985  spec:
   1986      group: notification.toolkit.fluxcd.io
   1987 @@ -10269,6 +10484,7 @@ spec:
   1988                                              minLength: 1
   1989                                              type: string
   1990                                      required:
   1991 +                                        - kind
   1992                                          - name
   1993                                      type: object
   1994                                  type: array
   1995 @@ -10305,15 +10521,8 @@ spec:
   1996                          properties:
   1997                              conditions:
   1998                                  items:
   1999 -                                    description: "Condition contains details for one aspect of the current state of this API
   2000 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2001 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2002 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2003 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2004 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2005 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2006 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2007 -                                        fields\n\t}"
   2008 +                                    description: Condition contains details for one aspect of the current state of this API
   2009 +                                        Resource.
   2010                                      properties:
   2011                                          lastTransitionTime:
   2012                                              description: |-
   2013 @@ -10354,12 +10563,7 @@ spec:
   2014                                                  - Unknown
   2015                                              type: string
   2016                                          type:
   2017 -                                            description: |-
   2018 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2019 -                                                ---
   2020 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2021 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2022 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2023 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2024                                              maxLength: 316
   2025                                              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])$
   2026                                              type: string
   2027 @@ -10533,15 +10737,8 @@ spec:
   2028                              conditions:
   2029                                  description: Conditions holds the conditions for the Alert.
   2030                                  items:
   2031 -                                    description: "Condition contains details for one aspect of the current state of this API
   2032 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2033 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2034 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2035 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2036 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2037 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2038 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2039 -                                        fields\n\t}"
   2040 +                                    description: Condition contains details for one aspect of the current state of this API
   2041 +                                        Resource.
   2042                                      properties:
   2043                                          lastTransitionTime:
   2044                                              description: |-
   2045 @@ -10582,12 +10779,7 @@ spec:
   2046                                                  - Unknown
   2047                                              type: string
   2048                                          type:
   2049 -                                            description: |-
   2050 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2051 -                                                ---
   2052 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2053 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2054 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2055 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2056                                              maxLength: 316
   2057                                              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])$
   2058                                              type: string
   2059 @@ -10760,12 +10952,12 @@ apiVersion: apiextensions.k8s.io/v1
   2060  kind: CustomResourceDefinition
   2061  metadata:
   2062      annotations:
   2063 -        controller-gen.kubebuilder.io/version: v0.15.0
   2064 +        controller-gen.kubebuilder.io/version: v0.16.1
   2065      labels:
   2066          app.kubernetes.io/component: notification-controller
   2067          app.kubernetes.io/instance: flux-system
   2068          app.kubernetes.io/part-of: flux
   2069 -        app.kubernetes.io/version: v2.3.0
   2070 +        app.kubernetes.io/version: v2.4.0
   2071      name: providers.notification.toolkit.fluxcd.io
   2072  spec:
   2073      group: notification.toolkit.fluxcd.io
   2074 @@ -10893,15 +11085,8 @@ spec:
   2075                          properties:
   2076                              conditions:
   2077                                  items:
   2078 -                                    description: "Condition contains details for one aspect of the current state of this API
   2079 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2080 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2081 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2082 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2083 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2084 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2085 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2086 -                                        fields\n\t}"
   2087 +                                    description: Condition contains details for one aspect of the current state of this API
   2088 +                                        Resource.
   2089                                      properties:
   2090                                          lastTransitionTime:
   2091                                              description: |-
   2092 @@ -10942,12 +11127,7 @@ spec:
   2093                                                  - Unknown
   2094                                              type: string
   2095                                          type:
   2096 -                                            description: |-
   2097 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2098 -                                                ---
   2099 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2100 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2101 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2102 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2103                                              maxLength: 316
   2104                                              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])$
   2105                                              type: string
   2106 @@ -11019,7 +11199,6 @@ spec:
   2107                                      CertSecretRef specifies the Secret containing
   2108                                      a PEM-encoded CA certificate (in the `ca.crt` key).
   2109  
   2110 -
   2111                                      Note: Support for the `caFile` key has
   2112                                      been deprecated.
   2113                                  properties:
   2114 @@ -11107,15 +11286,8 @@ spec:
   2115                              conditions:
   2116                                  description: Conditions holds the conditions for the Provider.
   2117                                  items:
   2118 -                                    description: "Condition contains details for one aspect of the current state of this API
   2119 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2120 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2121 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2122 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2123 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2124 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2125 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2126 -                                        fields\n\t}"
   2127 +                                    description: Condition contains details for one aspect of the current state of this API
   2128 +                                        Resource.
   2129                                      properties:
   2130                                          lastTransitionTime:
   2131                                              description: |-
   2132 @@ -11156,12 +11328,7 @@ spec:
   2133                                                  - Unknown
   2134                                              type: string
   2135                                          type:
   2136 -                                            description: |-
   2137 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2138 -                                                ---
   2139 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2140 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2141 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2142 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2143                                              maxLength: 316
   2144                                              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])$
   2145                                              type: string
   2146 @@ -11231,7 +11398,6 @@ spec:
   2147                                      CertSecretRef specifies the Secret containing
   2148                                      a PEM-encoded CA certificate (in the `ca.crt` key).
   2149  
   2150 -
   2151                                      Note: Support for the `caFile` key has
   2152                                      been deprecated.
   2153                                  properties:
   2154 @@ -11323,12 +11489,12 @@ apiVersion: apiextensions.k8s.io/v1
   2155  kind: CustomResourceDefinition
   2156  metadata:
   2157      annotations:
   2158 -        controller-gen.kubebuilder.io/version: v0.15.0
   2159 +        controller-gen.kubebuilder.io/version: v0.16.1
   2160      labels:
   2161          app.kubernetes.io/component: notification-controller
   2162          app.kubernetes.io/instance: flux-system
   2163          app.kubernetes.io/part-of: flux
   2164 -        app.kubernetes.io/version: v2.3.0
   2165 +        app.kubernetes.io/version: v2.4.0
   2166      name: receivers.notification.toolkit.fluxcd.io
   2167  spec:
   2168      group: notification.toolkit.fluxcd.io
   2169 @@ -11483,15 +11649,8 @@ spec:
   2170                              conditions:
   2171                                  description: Conditions holds the conditions for the Receiver.
   2172                                  items:
   2173 -                                    description: "Condition contains details for one aspect of the current state of this API
   2174 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2175 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2176 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2177 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2178 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2179 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2180 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2181 -                                        fields\n\t}"
   2182 +                                    description: Condition contains details for one aspect of the current state of this API
   2183 +                                        Resource.
   2184                                      properties:
   2185                                          lastTransitionTime:
   2186                                              description: |-
   2187 @@ -11532,12 +11691,7 @@ spec:
   2188                                                  - Unknown
   2189                                              type: string
   2190                                          type:
   2191 -                                            description: |-
   2192 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2193 -                                                ---
   2194 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2195 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2196 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2197 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2198                                              maxLength: 316
   2199                                              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])$
   2200                                              type: string
   2201 @@ -11657,6 +11811,7 @@ spec:
   2202                                              minLength: 1
   2203                                              type: string
   2204                                      required:
   2205 +                                        - kind
   2206                                          - name
   2207                                      type: object
   2208                                  type: array
   2209 @@ -11695,6 +11850,7 @@ spec:
   2210                                  type: string
   2211                          required:
   2212                              - resources
   2213 +                            - secretRef
   2214                              - type
   2215                          type: object
   2216                      status:
   2217 @@ -11704,15 +11860,8 @@ spec:
   2218                          properties:
   2219                              conditions:
   2220                                  items:
   2221 -                                    description: "Condition contains details for one aspect of the current state of this API
   2222 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2223 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2224 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2225 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2226 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2227 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2228 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2229 -                                        fields\n\t}"
   2230 +                                    description: Condition contains details for one aspect of the current state of this API
   2231 +                                        Resource.
   2232                                      properties:
   2233                                          lastTransitionTime:
   2234                                              description: |-
   2235 @@ -11753,12 +11902,7 @@ spec:
   2236                                                  - Unknown
   2237                                              type: string
   2238                                          type:
   2239 -                                            description: |-
   2240 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2241 -                                                ---
   2242 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2243 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2244 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2245 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2246                                              maxLength: 316
   2247                                              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])$
   2248                                              type: string
   2249 @@ -11918,6 +12062,7 @@ spec:
   2250                                  type: string
   2251                          required:
   2252                              - resources
   2253 +                            - secretRef
   2254                              - type
   2255                          type: object
   2256                      status:
   2257 @@ -11928,15 +12073,8 @@ spec:
   2258                              conditions:
   2259                                  description: Conditions holds the conditions for the Receiver.
   2260                                  items:
   2261 -                                    description: "Condition contains details for one aspect of the current state of this API
   2262 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2263 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2264 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2265 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2266 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2267 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2268 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2269 -                                        fields\n\t}"
   2270 +                                    description: Condition contains details for one aspect of the current state of this API
   2271 +                                        Resource.
   2272                                      properties:
   2273                                          lastTransitionTime:
   2274                                              description: |-
   2275 @@ -11977,12 +12115,7 @@ spec:
   2276                                                  - Unknown
   2277                                              type: string
   2278                                          type:
   2279 -                                            description: |-
   2280 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2281 -                                                ---
   2282 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2283 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2284 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2285 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2286                                              maxLength: 316
   2287                                              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])$
   2288                                              type: string
   2289 @@ -12029,7 +12162,7 @@ metadata:
   2290          app.kubernetes.io/component: notification-controller
   2291          app.kubernetes.io/instance: flux-system
   2292          app.kubernetes.io/part-of: flux
   2293 -        app.kubernetes.io/version: v2.3.0
   2294 +        app.kubernetes.io/version: v2.4.0
   2295      name: notification-controller
   2296      namespace: flux-system
   2297  ---
   2298 @@ -12040,7 +12173,7 @@ metadata:
   2299          app.kubernetes.io/component: notification-controller
   2300          app.kubernetes.io/instance: flux-system
   2301          app.kubernetes.io/part-of: flux
   2302 -        app.kubernetes.io/version: v2.3.0
   2303 +        app.kubernetes.io/version: v2.4.0
   2304          control-plane: controller
   2305      name: notification-controller
   2306      namespace: flux-system
   2307 @@ -12061,7 +12194,7 @@ metadata:
   2308          app.kubernetes.io/component: notification-controller
   2309          app.kubernetes.io/instance: flux-system
   2310          app.kubernetes.io/part-of: flux
   2311 -        app.kubernetes.io/version: v2.3.0
   2312 +        app.kubernetes.io/version: v2.4.0
   2313          control-plane: controller
   2314      name: webhook-receiver
   2315      namespace: flux-system
   2316 @@ -12082,7 +12215,7 @@ metadata:
   2317          app.kubernetes.io/component: notification-controller
   2318          app.kubernetes.io/instance: flux-system
   2319          app.kubernetes.io/part-of: flux
   2320 -        app.kubernetes.io/version: v2.3.0
   2321 +        app.kubernetes.io/version: v2.4.0
   2322          control-plane: controller
   2323      name: notification-controller
   2324      namespace: flux-system
   2325 @@ -12120,7 +12253,7 @@ spec:
   2326                          resourceFieldRef:
   2327                              containerName: manager
   2328                              resource: limits.memory
   2329 -                  image: ghcr.io/fluxcd/notification-controller:v1.3.0
   2330 +                  image: ghcr.io/fluxcd/notification-controller:v1.4.0
   2331                    imagePullPolicy: IfNotPresent
   2332                    livenessProbe:
   2333                      httpGet:
   2334 @@ -12177,12 +12310,12 @@ apiVersion: apiextensions.k8s.io/v1
   2335  kind: CustomResourceDefinition
   2336  metadata:
   2337      annotations:
   2338 -        controller-gen.kubebuilder.io/version: v0.15.0
   2339 +        controller-gen.kubebuilder.io/version: v0.16.1
   2340      labels:
   2341          app.kubernetes.io/component: image-reflector-controller
   2342          app.kubernetes.io/instance: flux-system
   2343          app.kubernetes.io/part-of: flux
   2344 -        app.kubernetes.io/version: v2.3.0
   2345 +        app.kubernetes.io/version: v2.4.0
   2346      name: imagepolicies.image.toolkit.fluxcd.io
   2347  spec:
   2348      group: image.toolkit.fluxcd.io
   2349 @@ -12313,15 +12446,8 @@ spec:
   2350                          properties:
   2351                              conditions:
   2352                                  items:
   2353 -                                    description: "Condition contains details for one aspect of the current state of this API
   2354 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2355 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2356 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2357 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2358 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2359 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2360 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2361 -                                        fields\n\t}"
   2362 +                                    description: Condition contains details for one aspect of the current state of this API
   2363 +                                        Resource.
   2364                                      properties:
   2365                                          lastTransitionTime:
   2366                                              description: |-
   2367 @@ -12362,12 +12488,7 @@ spec:
   2368                                                  - Unknown
   2369                                              type: string
   2370                                          type:
   2371 -                                            description: |-
   2372 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2373 -                                                ---
   2374 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2375 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2376 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2377 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2378                                              maxLength: 316
   2379                                              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])$
   2380                                              type: string
   2381 @@ -12514,15 +12635,8 @@ spec:
   2382                          properties:
   2383                              conditions:
   2384                                  items:
   2385 -                                    description: "Condition contains details for one aspect of the current state of this API
   2386 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2387 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2388 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2389 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2390 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2391 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2392 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2393 -                                        fields\n\t}"
   2394 +                                    description: Condition contains details for one aspect of the current state of this API
   2395 +                                        Resource.
   2396                                      properties:
   2397                                          lastTransitionTime:
   2398                                              description: |-
   2399 @@ -12563,12 +12677,7 @@ spec:
   2400                                                  - Unknown
   2401                                              type: string
   2402                                          type:
   2403 -                                            description: |-
   2404 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2405 -                                                ---
   2406 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2407 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2408 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2409 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2410                                              maxLength: 316
   2411                                              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])$
   2412                                              type: string
   2413 @@ -12605,12 +12714,12 @@ apiVersion: apiextensions.k8s.io/v1
   2414  kind: CustomResourceDefinition
   2415  metadata:
   2416      annotations:
   2417 -        controller-gen.kubebuilder.io/version: v0.15.0
   2418 +        controller-gen.kubebuilder.io/version: v0.16.1
   2419      labels:
   2420          app.kubernetes.io/component: image-reflector-controller
   2421          app.kubernetes.io/instance: flux-system
   2422          app.kubernetes.io/part-of: flux
   2423 -        app.kubernetes.io/version: v2.3.0
   2424 +        app.kubernetes.io/version: v2.4.0
   2425      name: imagerepositories.image.toolkit.fluxcd.io
   2426  spec:
   2427      group: image.toolkit.fluxcd.io
   2428 @@ -12687,12 +12796,10 @@ spec:
   2429                                      CertSecretRef can be given the name of a secret containing
   2430                                      either or both of
   2431  
   2432 -
   2433                                       - a PEM-encoded client certificate (`certFile`) and private
   2434                                       key (`keyFile`);
   2435                                       - a PEM-encoded CA certificate (`caFile`)
   2436  
   2437 -
   2438                                       and whichever are supplied, will be used for connecting to the
   2439                                       registry. The client cert and key are useful if you are
   2440                                       authenticating with a certificate; the CA cert is useful if
   2441 @@ -12750,6 +12857,9 @@ spec:
   2442                                      Defaults to 'Interval' duration.
   2443                                  pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
   2444                                  type: string
   2445 +                        required:
   2446 +                            - image
   2447 +                            - interval
   2448                          type: object
   2449                      status:
   2450                          default:
   2451 @@ -12764,15 +12874,8 @@ spec:
   2452                                  type: string
   2453                              conditions:
   2454                                  items:
   2455 -                                    description: "Condition contains details for one aspect of the current state of this API
   2456 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2457 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2458 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2459 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2460 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2461 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2462 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2463 -                                        fields\n\t}"
   2464 +                                    description: Condition contains details for one aspect of the current state of this API
   2465 +                                        Resource.
   2466                                      properties:
   2467                                          lastTransitionTime:
   2468                                              description: |-
   2469 @@ -12813,12 +12916,7 @@ spec:
   2470                                                  - Unknown
   2471                                              type: string
   2472                                          type:
   2473 -                                            description: |-
   2474 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2475 -                                                ---
   2476 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2477 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2478 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2479 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2480                                              maxLength: 316
   2481                                              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])$
   2482                                              type: string
   2483 @@ -12923,19 +13021,16 @@ spec:
   2484                                      CertSecretRef can be given the name of a Secret containing
   2485                                      either or both of
   2486  
   2487 -
   2488                                      - a PEM-encoded client certificate (`tls.crt`) and private
   2489                                      key (`tls.key`);
   2490                                      - a PEM-encoded CA certificate (`ca.crt`)
   2491  
   2492 -
   2493                                      and whichever are supplied, will be used for connecting to the
   2494                                      registry. The client cert and key are useful if you are
   2495                                      authenticating with a certificate; the CA cert is useful if
   2496                                      you are using a self-signed server certificate. The Secret must
   2497                                      be of type `Opaque` or `kubernetes.io/tls`.
   2498  
   2499 -
   2500                                      Note: Support for the `caFile`, `certFile` and `keyFile` keys has
   2501                                      been deprecated.
   2502                                  properties:
   2503 @@ -12978,6 +13073,17 @@ spec:
   2504                                      - azure
   2505                                      - gcp
   2506                                  type: string
   2507 +                            proxySecretRef:
   2508 +                                description: |-
   2509 +                                    ProxySecretRef specifies the Secret containing the proxy configuration
   2510 +                                    to use while communicating with the container registry.
   2511 +                                properties:
   2512 +                                    name:
   2513 +                                        description: Name of the referent.
   2514 +                                        type: string
   2515 +                                required:
   2516 +                                    - name
   2517 +                                type: object
   2518                              secretRef:
   2519                                  description: |-
   2520                                      SecretRef can be given the name of a secret containing
   2521 @@ -13008,6 +13114,9 @@ spec:
   2522                                      Defaults to 'Interval' duration.
   2523                                  pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
   2524                                  type: string
   2525 +                        required:
   2526 +                            - image
   2527 +                            - interval
   2528                          type: object
   2529                      status:
   2530                          default:
   2531 @@ -13022,15 +13131,8 @@ spec:
   2532                                  type: string
   2533                              conditions:
   2534                                  items:
   2535 -                                    description: "Condition contains details for one aspect of the current state of this API
   2536 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2537 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2538 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2539 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2540 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2541 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2542 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2543 -                                        fields\n\t}"
   2544 +                                    description: Condition contains details for one aspect of the current state of this API
   2545 +                                        Resource.
   2546                                      properties:
   2547                                          lastTransitionTime:
   2548                                              description: |-
   2549 @@ -13071,12 +13173,7 @@ spec:
   2550                                                  - Unknown
   2551                                              type: string
   2552                                          type:
   2553 -                                            description: |-
   2554 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2555 -                                                ---
   2556 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2557 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2558 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2559 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2560                                              maxLength: 316
   2561                                              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])$
   2562                                              type: string
   2563 @@ -13135,7 +13232,7 @@ metadata:
   2564          app.kubernetes.io/component: image-reflector-controller
   2565          app.kubernetes.io/instance: flux-system
   2566          app.kubernetes.io/part-of: flux
   2567 -        app.kubernetes.io/version: v2.3.0
   2568 +        app.kubernetes.io/version: v2.4.0
   2569      name: image-reflector-controller
   2570      namespace: flux-system
   2571  ---
   2572 @@ -13146,7 +13243,7 @@ metadata:
   2573          app.kubernetes.io/component: image-reflector-controller
   2574          app.kubernetes.io/instance: flux-system
   2575          app.kubernetes.io/part-of: flux
   2576 -        app.kubernetes.io/version: v2.3.0
   2577 +        app.kubernetes.io/version: v2.4.0
   2578          control-plane: controller
   2579      name: image-reflector-controller
   2580      namespace: flux-system
   2581 @@ -13185,7 +13282,7 @@ spec:
   2582                          resourceFieldRef:
   2583                              containerName: manager
   2584                              resource: limits.memory
   2585 -                  image: ghcr.io/fluxcd/image-reflector-controller:v0.32.0
   2586 +                  image: ghcr.io/fluxcd/image-reflector-controller:v0.33.0
   2587                    imagePullPolicy: IfNotPresent
   2588                    livenessProbe:
   2589                      httpGet:
   2590 @@ -13240,12 +13337,12 @@ apiVersion: apiextensions.k8s.io/v1
   2591  kind: CustomResourceDefinition
   2592  metadata:
   2593      annotations:
   2594 -        controller-gen.kubebuilder.io/version: v0.15.0
   2595 +        controller-gen.kubebuilder.io/version: v0.16.1
   2596      labels:
   2597          app.kubernetes.io/component: image-automation-controller
   2598          app.kubernetes.io/instance: flux-system
   2599          app.kubernetes.io/part-of: flux
   2600 -        app.kubernetes.io/version: v2.3.0
   2601 +        app.kubernetes.io/version: v2.4.0
   2602      name: imageupdateautomations.image.toolkit.fluxcd.io
   2603  spec:
   2604      group: image.toolkit.fluxcd.io
   2605 @@ -13312,7 +13409,6 @@ spec:
   2606                                                          description: |-
   2607                                                              Commit SHA to check out, takes precedence over all reference fields.
   2608  
   2609 -
   2610                                                              This can be combined with Branch to shallow clone the branch, in which
   2611                                                              the commit is expected to exist.
   2612                                                          type: string
   2613 @@ -13320,7 +13416,6 @@ spec:
   2614                                                          description: |-
   2615                                                              Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
   2616  
   2617 -
   2618                                                              It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
   2619                                                              Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
   2620                                                          type: string
   2621 @@ -13373,6 +13468,8 @@ spec:
   2622                                                          required:
   2623                                                              - name
   2624                                                          type: object
   2625 +                                                required:
   2626 +                                                    - secretRef
   2627                                                  type: object
   2628                                          required:
   2629                                              - author
   2630 @@ -13479,15 +13576,8 @@ spec:
   2631                          properties:
   2632                              conditions:
   2633                                  items:
   2634 -                                    description: "Condition contains details for one aspect of the current state of this API
   2635 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2636 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2637 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2638 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2639 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2640 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2641 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2642 -                                        fields\n\t}"
   2643 +                                    description: Condition contains details for one aspect of the current state of this API
   2644 +                                        Resource.
   2645                                      properties:
   2646                                          lastTransitionTime:
   2647                                              description: |-
   2648 @@ -13528,12 +13618,7 @@ spec:
   2649                                                  - Unknown
   2650                                              type: string
   2651                                          type:
   2652 -                                            description: |-
   2653 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2654 -                                                ---
   2655 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2656 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2657 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2658 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2659                                              maxLength: 316
   2660                                              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])$
   2661                                              type: string
   2662 @@ -13630,7 +13715,6 @@ spec:
   2663                                                          description: |-
   2664                                                              Commit SHA to check out, takes precedence over all reference fields.
   2665  
   2666 -
   2667                                                              This can be combined with Branch to shallow clone the branch, in which
   2668                                                              the commit is expected to exist.
   2669                                                          type: string
   2670 @@ -13638,7 +13722,6 @@ spec:
   2671                                                          description: |-
   2672                                                              Name of the reference to check out; takes precedence over Branch, Tag and SemVer.
   2673  
   2674 -
   2675                                                              It must be a valid Git reference: https://git-scm.com/docs/git-check-ref-format#_description
   2676                                                              Examples: "refs/heads/main", "refs/tags/v0.1.0", "refs/pull/420/head", "refs/merge-requests/1/head"
   2677                                                          type: string
   2678 @@ -13691,6 +13774,8 @@ spec:
   2679                                                          required:
   2680                                                              - name
   2681                                                          type: object
   2682 +                                                required:
   2683 +                                                    - secretRef
   2684                                                  type: object
   2685                                          required:
   2686                                              - author
   2687 @@ -13844,15 +13929,8 @@ spec:
   2688                          properties:
   2689                              conditions:
   2690                                  items:
   2691 -                                    description: "Condition contains details for one aspect of the current state of this API
   2692 -                                        Resource.\n---\nThis struct is intended for direct use as an array at the field path
   2693 -                                        .status.conditions.  For example,\n\n\n\ttype FooStatus struct{\n\t    // Represents
   2694 -                                        the observations of a foo's current state.\n\t    // Known .status.conditions.type
   2695 -                                        are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    // +patchMergeKey=type\n\t
   2696 -                                        \   // +patchStrategy=merge\n\t    // +listType=map\n\t    // +listMapKey=type\n\t
   2697 -                                        \   Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\"
   2698 -                                        patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t    // other
   2699 -                                        fields\n\t}"
   2700 +                                    description: Condition contains details for one aspect of the current state of this API
   2701 +                                        Resource.
   2702                                      properties:
   2703                                          lastTransitionTime:
   2704                                              description: |-
   2705 @@ -13893,12 +13971,7 @@ spec:
   2706                                                  - Unknown
   2707                                              type: string
   2708                                          type:
   2709 -                                            description: |-
   2710 -                                                type of condition in CamelCase or in foo.example.com/CamelCase.
   2711 -                                                ---
   2712 -                                                Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   2713 -                                                useful (see .node.status.conditions), the ability to deconflict is important.
   2714 -                                                The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   2715 +                                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
   2716                                              maxLength: 316
   2717                                              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])$
   2718                                              type: string
   2719 @@ -13973,7 +14046,7 @@ metadata:
   2720          app.kubernetes.io/component: image-automation-controller
   2721          app.kubernetes.io/instance: flux-system
   2722          app.kubernetes.io/part-of: flux
   2723 -        app.kubernetes.io/version: v2.3.0
   2724 +        app.kubernetes.io/version: v2.4.0
   2725      name: image-automation-controller
   2726      namespace: flux-system
   2727  ---
   2728 @@ -13984,7 +14057,7 @@ metadata:
   2729          app.kubernetes.io/component: image-automation-controller
   2730          app.kubernetes.io/instance: flux-system
   2731          app.kubernetes.io/part-of: flux
   2732 -        app.kubernetes.io/version: v2.3.0
   2733 +        app.kubernetes.io/version: v2.4.0
   2734          control-plane: controller
   2735      name: image-automation-controller
   2736      namespace: flux-system
   2737 @@ -14023,7 +14096,7 @@ spec:
   2738                          resourceFieldRef:
   2739                              containerName: manager
   2740                              resource: limits.memory
   2741 -                  image: ghcr.io/fluxcd/image-automation-controller:v0.38.0
   2742 +                  image: ghcr.io/fluxcd/image-automation-controller:v0.39.0
   2743                    imagePullPolicy: IfNotPresent
   2744                    livenessProbe:
   2745                      httpGet: