### Problem statement

Using `code-generator`'s `client-gen` in version 1.30 adds several new fields to generated CRDs:

```diff
                           imagePullSecrets:
                             description: |-
                               ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
                               If specified, these secrets will be passed to individual puller implementations for them to use.
                               More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
                             items:
                               description: |-
                                 LocalObjectReference contains enough information to let you locate the
                                 referenced object inside the same namespace.
                               properties:
                                 name:
                                   description: |-
                                     Name of the referent.
                                     More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                     TODO: Add other useful fields. apiVersion, kind, uid?
                                   type: string
                               type: object
                               x-kubernetes-map-type: atomic
                             type: array
+                            x-kubernetes-list-map-keys:
+                            - name
+                            x-kubernetes-list-type: map
```

This in turn makes the CRDs fail to be applied on the cluster (note: the CRD in question has `PodTemplateSpec` embedded as a field)

```
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "dataplanes.gateway-operator.konghq.com" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[deployment].properties[podTemplateSpec].properties[spec].properties[hostAliases].items.properties[ip].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[deployment].properties[podTemplateSpec].properties[spec].properties[imagePullSecrets].items.properties[name].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]
```


### Proposed solution

It would seem that [`LocalObjectReference`](https://github.com/kubernetes/kubernetes/blob/v1.30.0/pkg/apis/core/types.go#L5460) (which is the underlying type of [`ImagePullSecrets`](https://github.com/kubernetes/kubernetes/blob/v1.30.0/pkg/apis/core/types.go#L3289-L3292))
is missing some code markers? Not sure at this moment.

1.30 adds tags that break `imagePullSecrets`
This is a GitHub Issue
repo:kubernetes
owner:kubernetes
Title : 1.30 adds tags that break `imagePullSecrets`
Issue date:

--- start body ---
### Problem statement

Using `code-generator`'s `client-gen` in version 1.30 adds several new fields to generated CRDs:

```diff
                           imagePullSecrets:
                             description: |-
                               ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
                               If specified, these secrets will be passed to individual puller implementations for them to use.
                               More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
                             items:
                               description: |-
                                 LocalObjectReference contains enough information to let you locate the
                                 referenced object inside the same namespace.
                               properties:
                                 name:
                                   description: |-
                                     Name of the referent.
                                     More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                     TODO: Add other useful fields. apiVersion, kind, uid?
                                   type: string
                               type: object
                               x-kubernetes-map-type: atomic
                             type: array
+                            x-kubernetes-list-map-keys:
+                            - name
+                            x-kubernetes-list-type: map
```

This in turn makes the CRDs fail to be applied on the cluster (note: the CRD in question has `PodTemplateSpec` embedded as a field)

```
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "dataplanes.gateway-operator.konghq.com" is invalid: [spec.validation.openAPIV3Schema.properties[spec].properties[deployment].properties[podTemplateSpec].properties[spec].properties[hostAliases].items.properties[ip].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property, spec.validation.openAPIV3Schema.properties[spec].properties[deployment].properties[podTemplateSpec].properties[spec].properties[imagePullSecrets].items.properties[name].default: Required value: this property is in x-kubernetes-list-map-keys, so it must have a default or be a required property]
```


### Proposed solution

It would seem that [`LocalObjectReference`](https://github.com/kubernetes/kubernetes/blob/v1.30.0/pkg/apis/core/types.go#L5460) (which is the underlying type of [`ImagePullSecrets`](https://github.com/kubernetes/kubernetes/blob/v1.30.0/pkg/apis/core/types.go#L3289-L3292))
is missing some code markers? Not sure at this moment.

--- end body ---
