diff --git a/api/api-rules/violation_exceptions.list b/api/api-rules/violation_exceptions.list index c70503e59135d..4b24214c8d7de 100644 --- a/api/api-rules/violation_exceptions.list +++ b/api/api-rules/violation_exceptions.list @@ -26,14 +26,10 @@ API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,V API rule violation: list_type_missing,k8s.io/api/admissionregistration/v1beta1,WebhookClientConfig,CABundle API rule violation: list_type_missing,k8s.io/api/apps/v1,ControllerRevisionList,Items API rule violation: list_type_missing,k8s.io/api/apps/v1,DaemonSetList,Items -API rule violation: list_type_missing,k8s.io/api/apps/v1,DaemonSetStatus,Conditions API rule violation: list_type_missing,k8s.io/api/apps/v1,DeploymentList,Items -API rule violation: list_type_missing,k8s.io/api/apps/v1,DeploymentStatus,Conditions API rule violation: list_type_missing,k8s.io/api/apps/v1,ReplicaSetList,Items -API rule violation: list_type_missing,k8s.io/api/apps/v1,ReplicaSetStatus,Conditions API rule violation: list_type_missing,k8s.io/api/apps/v1,StatefulSetList,Items API rule violation: list_type_missing,k8s.io/api/apps/v1,StatefulSetSpec,VolumeClaimTemplates -API rule violation: list_type_missing,k8s.io/api/apps/v1,StatefulSetStatus,Conditions API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,ControllerRevisionList,Items API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,DeploymentList,Items API rule violation: list_type_missing,k8s.io/api/apps/v1beta1,DeploymentStatus,Conditions @@ -107,17 +103,13 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Add API rule violation: list_type_missing,k8s.io/api/core/v1,Capabilities,Drop API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSPersistentVolumeSource,Monitors API rule violation: list_type_missing,k8s.io/api/core/v1,CephFSVolumeSource,Monitors -API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatus,Conditions API rule violation: list_type_missing,k8s.io/api/core/v1,ComponentStatusList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapProjection,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ConfigMapVolumeSource,Items API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Args API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Command -API rule violation: list_type_missing,k8s.io/api/core/v1,Container,Env API rule violation: list_type_missing,k8s.io/api/core/v1,Container,EnvFrom -API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeDevices -API rule violation: list_type_missing,k8s.io/api/core/v1,Container,VolumeMounts API rule violation: list_type_missing,k8s.io/api/core/v1,ContainerImage,Names API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIProjection,Items API rule violation: list_type_missing,k8s.io/api/core/v1,DownwardAPIVolumeSource,Items @@ -128,12 +120,8 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,Endpoints,Subsets API rule violation: list_type_missing,k8s.io/api/core/v1,EndpointsList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Args API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Command -API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Env API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,EnvFrom API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,Ports -API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeDevices -API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainerCommon,VolumeMounts -API rule violation: list_type_missing,k8s.io/api/core/v1,EphemeralContainers,EphemeralContainers API rule violation: list_type_missing,k8s.io/api/core/v1,EventList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ExecAction,Command API rule violation: list_type_missing,k8s.io/api/core/v1,FCVolumeSource,TargetWWNs @@ -148,24 +136,19 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,List,Items API rule violation: list_type_missing,k8s.io/api/core/v1,LoadBalancerStatus,Ingress API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceSpec,Finalizers -API rule violation: list_type_missing,k8s.io/api/core/v1,NamespaceStatus,Conditions API rule violation: list_type_missing,k8s.io/api/core/v1,NodeAffinity,PreferredDuringSchedulingIgnoredDuringExecution API rule violation: list_type_missing,k8s.io/api/core/v1,NodeList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelector,NodeSelectorTerms API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorRequirement,Values API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchExpressions API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSelectorTerm,MatchFields -API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,PodCIDRs API rule violation: list_type_missing,k8s.io/api/core/v1,NodeSpec,Taints -API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Addresses -API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Conditions API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,Images API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesAttached API rule violation: list_type_missing,k8s.io/api/core/v1,NodeStatus,VolumesInUse API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimSpec,AccessModes API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,AccessModes -API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeClaimStatus,Conditions API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,AccessModes API rule violation: list_type_missing,k8s.io/api/core/v1,PersistentVolumeSpec,MountOptions @@ -182,26 +165,17 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,PodList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,PodPortForwardOptions,Ports API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,SupplementalGroups API rule violation: list_type_missing,k8s.io/api/core/v1,PodSecurityContext,Sysctls -API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Containers -API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,EphemeralContainers -API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,HostAliases -API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ImagePullSecrets -API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,InitContainers API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,ReadinessGates API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Tolerations -API rule violation: list_type_missing,k8s.io/api/core/v1,PodSpec,Volumes -API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,Conditions API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,ContainerStatuses API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,EphemeralContainerStatuses API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,InitContainerStatuses -API rule violation: list_type_missing,k8s.io/api/core/v1,PodStatus,PodIPs API rule violation: list_type_missing,k8s.io/api/core/v1,PodTemplateList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ProjectedVolumeSource,Sources API rule violation: list_type_missing,k8s.io/api/core/v1,RBDPersistentVolumeSource,CephMonitors API rule violation: list_type_missing,k8s.io/api/core/v1,RBDVolumeSource,CephMonitors API rule violation: list_type_missing,k8s.io/api/core/v1,RangeAllocation,Data API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerList,Items -API rule violation: list_type_missing,k8s.io/api/core/v1,ReplicationControllerStatus,Conditions API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ResourceQuotaSpec,Scopes API rule violation: list_type_missing,k8s.io/api/core/v1,ScopeSelector,MatchExpressions @@ -210,7 +184,6 @@ API rule violation: list_type_missing,k8s.io/api/core/v1,SecretList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,SecretProjection,Items API rule violation: list_type_missing,k8s.io/api/core/v1,SecretVolumeSource,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,ImagePullSecrets -API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccount,Secrets API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceAccountList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceList,Items API rule violation: list_type_missing,k8s.io/api/core/v1,ServiceSpec,ExternalIPs diff --git a/staging/src/k8s.io/api/apps/v1/doc.go b/staging/src/k8s.io/api/apps/v1/doc.go index 61dc97bde5233..12eb9e4592b71 100644 --- a/staging/src/k8s.io/api/apps/v1/doc.go +++ b/staging/src/k8s.io/api/apps/v1/doc.go @@ -18,4 +18,6 @@ limitations under the License. // +k8s:protobuf-gen=package // +k8s:openapi-gen=true +// +groupName="apps" + package v1 // import "k8s.io/api/apps/v1" diff --git a/staging/src/k8s.io/api/apps/v1/types.go b/staging/src/k8s.io/api/apps/v1/types.go index e003a0c4f7c05..11330442f28ab 100644 --- a/staging/src/k8s.io/api/apps/v1/types.go +++ b/staging/src/k8s.io/api/apps/v1/types.go @@ -35,6 +35,8 @@ const ( // +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/api/autoscaling/v1.Scale // +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/autoscaling/v1.Scale,result=k8s.io/api/autoscaling/v1.Scale // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status +// +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas // StatefulSet represents a set of pods with consistent identities. // Identities are defined as: @@ -213,6 +215,8 @@ type StatefulSetStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []StatefulSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,10,rep,name=conditions"` } @@ -249,6 +253,8 @@ type StatefulSetList struct { // +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/api/autoscaling/v1.Scale // +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/autoscaling/v1.Scale,result=k8s.io/api/autoscaling/v1.Scale // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status +// +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas // Deployment enables declarative updates for Pods and ReplicaSets. type Deployment struct { @@ -403,6 +409,8 @@ type DeploymentStatus struct { // Represents the latest available observations of a deployment's current state. // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []DeploymentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` // Count of hash collisions for the Deployment. The Deployment controller uses this @@ -587,6 +595,8 @@ type DaemonSetStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []DaemonSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,10,rep,name=conditions"` } @@ -613,6 +623,7 @@ type DaemonSetCondition struct { // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status // DaemonSet represents the configuration of a daemon set. type DaemonSet struct { @@ -661,6 +672,8 @@ type DaemonSetList struct { // +genclient:method=GetScale,verb=get,subresource=scale,result=k8s.io/api/autoscaling/v1.Scale // +genclient:method=UpdateScale,verb=update,subresource=scale,input=k8s.io/api/autoscaling/v1.Scale,result=k8s.io/api/autoscaling/v1.Scale // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status +// +kubebuilder:subresource:scale:specpath=.spec.replicas,statuspath=.status.replicas // ReplicaSet ensures that a specified number of pod replicas are running at any given time. type ReplicaSet struct { @@ -755,6 +768,8 @@ type ReplicaSetStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []ReplicaSetCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` } diff --git a/staging/src/k8s.io/api/core/v1/doc.go b/staging/src/k8s.io/api/core/v1/doc.go index 1bdf0b25b1b07..1a68cd8142aea 100644 --- a/staging/src/k8s.io/api/core/v1/doc.go +++ b/staging/src/k8s.io/api/core/v1/doc.go @@ -18,5 +18,7 @@ limitations under the License. // +k8s:deepcopy-gen=package // +k8s:protobuf-gen=package +// +groupName="" + // Package v1 is the v1 version of the core API. package v1 // import "k8s.io/api/core/v1" diff --git a/staging/src/k8s.io/api/core/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go index b61a86aba160d..537f9cba5343a 100644 --- a/staging/src/k8s.io/api/core/v1/types.go +++ b/staging/src/k8s.io/api/core/v1/types.go @@ -524,6 +524,8 @@ type PersistentVolumeClaimStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []PersistentVolumeClaimCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` } @@ -2170,6 +2172,8 @@ type Container struct { // +optional // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"` // Compute Resources required by this container. // Cannot be updated. @@ -2181,10 +2185,14 @@ type Container struct { // +optional // +patchMergeKey=mountPath // +patchStrategy=merge + // +listType=map + // +listMapKey=mountPath VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"` // volumeDevices is the list of block devices to be used by the container. // +patchMergeKey=devicePath // +patchStrategy=merge + // +listType=map + // +listMapKey=devicePath // +optional VolumeDevices []VolumeDevice `json:"volumeDevices,omitempty" patchStrategy:"merge" patchMergeKey:"devicePath" protobuf:"bytes,21,rep,name=volumeDevices"` // Periodic probe of container liveness. @@ -2838,6 +2846,8 @@ type PodSpec struct { // +optional // +patchMergeKey=name // +patchStrategy=merge,retainKeys + // +listType=map + // +listMapKey=name Volumes []Volume `json:"volumes,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name" protobuf:"bytes,1,rep,name=volumes"` // List of initialization containers belonging to the pod. // Init containers are executed in order prior to containers being started. If any @@ -2854,6 +2864,8 @@ type PodSpec struct { // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name InitContainers []Container `json:"initContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,20,rep,name=initContainers"` // List of containers belonging to the pod. // Containers cannot currently be added or removed. @@ -2861,6 +2873,8 @@ type PodSpec struct { // Cannot be updated. // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name Containers []Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"` // List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing // pod to perform user-initiated actions such as debugging. This list cannot be specified when @@ -2870,6 +2884,8 @@ type PodSpec struct { // +optional // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name EphemeralContainers []EphemeralContainer `json:"ephemeralContainers,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,34,rep,name=ephemeralContainers"` // Restart policy for all containers within the pod. // One of Always, OnFailure, Never. @@ -2958,6 +2974,8 @@ type PodSpec struct { // +optional // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,15,rep,name=imagePullSecrets"` // Specifies the hostname of the Pod // If not specified, the pod's hostname will be set to a system-defined value. @@ -2982,6 +3000,8 @@ type PodSpec struct { // +optional // +patchMergeKey=ip // +patchStrategy=merge + // +listType=map + // +listMapKey=ip HostAliases []HostAlias `json:"hostAliases,omitempty" patchStrategy:"merge" patchMergeKey:"ip" protobuf:"bytes,23,rep,name=hostAliases"` // If specified, indicates the pod's priority. "system-node-critical" and // "system-cluster-critical" are two special keywords which indicate the @@ -3121,7 +3141,7 @@ const ( // pod's hosts file. type HostAlias struct { // IP address of the host file entry. - IP string `json:"ip,omitempty" protobuf:"bytes,1,opt,name=ip"` + IP string `json:"ip" protobuf:"bytes,1,opt,name=ip"` // Hostnames for the above IP address. Hostnames []string `json:"hostnames,omitempty" protobuf:"bytes,2,rep,name=hostnames"` } @@ -3256,7 +3276,7 @@ type PodDNSConfigOption struct { // IP: An IP address allocated to the pod. Routable at least within the cluster. type PodIP struct { // ip is an IP address (IPv4 or IPv6) assigned to the pod - IP string `json:"ip,omitempty" protobuf:"bytes,1,opt,name=ip"` + IP string `json:"ip" protobuf:"bytes,1,opt,name=ip"` } // EphemeralContainerCommon is a copy of all fields in Container to be inlined in @@ -3311,6 +3331,8 @@ type EphemeralContainerCommon struct { // +optional // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name Env []EnvVar `json:"env,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=env"` // Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources // already allocated to the pod. @@ -3321,10 +3343,14 @@ type EphemeralContainerCommon struct { // +optional // +patchMergeKey=mountPath // +patchStrategy=merge + // +listType=map + // +listMapKey=mountPath VolumeMounts []VolumeMount `json:"volumeMounts,omitempty" patchStrategy:"merge" patchMergeKey:"mountPath" protobuf:"bytes,9,rep,name=volumeMounts"` // volumeDevices is the list of block devices to be used by the container. // +patchMergeKey=devicePath // +patchStrategy=merge + // +listType=map + // +listMapKey=devicePath // +optional VolumeDevices []VolumeDevice `json:"volumeDevices,omitempty" patchStrategy:"merge" patchMergeKey:"devicePath" protobuf:"bytes,21,rep,name=volumeDevices"` // Probes are not allowed for ephemeral containers. @@ -3448,6 +3474,8 @@ type PodStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []PodCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` // A human readable message indicating details about why the pod is in this condition. // +optional @@ -3480,6 +3508,8 @@ type PodStatus struct { // +optional // +patchStrategy=merge // +patchMergeKey=ip + // +listType=map + // +listMapKey=ip PodIPs []PodIP `json:"podIPs,omitempty" protobuf:"bytes,12,rep,name=podIPs" patchStrategy:"merge" patchMergeKey:"ip"` // RFC 3339 date and time at which the object was acknowledged by the Kubelet. @@ -3531,6 +3561,7 @@ type PodStatusResult struct { // +genclient:method=GetEphemeralContainers,verb=get,subresource=ephemeralcontainers,result=EphemeralContainers // +genclient:method=UpdateEphemeralContainers,verb=update,subresource=ephemeralcontainers,input=EphemeralContainers,result=EphemeralContainers // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status // Pod is a collection of containers that can run on a host. This resource is created // by clients and scheduled onto hosts. @@ -3677,6 +3708,8 @@ type ReplicationControllerStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []ReplicationControllerCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"` } @@ -4050,6 +4083,7 @@ type ServicePort struct { // +genclient // +genclient:skipVerbs=deleteCollection // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status // Service is a named abstraction of software service (for example, mysql) consisting of local port // (for example 3306) that the proxy listens on, and the selector that determines which pods @@ -4114,6 +4148,8 @@ type ServiceAccount struct { // +optional // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name Secrets []ObjectReference `json:"secrets,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=secrets"` // ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images @@ -4276,6 +4312,7 @@ type NodeSpec struct { // each of IPv4 and IPv6. // +optional // +patchStrategy=merge + // +listType=set PodCIDRs []string `json:"podCIDRs,omitempty" protobuf:"bytes,7,opt,name=podCIDRs" patchStrategy:"merge"` // ID of the node assigned by the cloud provider in the format: :// @@ -4455,6 +4492,8 @@ type NodeStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []NodeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` // List of addresses reachable to the node. // Queried from cloud provider, if available. @@ -4465,6 +4504,8 @@ type NodeStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Addresses []NodeAddress `json:"addresses,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=addresses"` // Endpoints of daemons running on the Node. // +optional @@ -4645,6 +4686,8 @@ type ResourceList map[ResourceName]resource.Quantity // +genclient // +genclient:nonNamespaced // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// +kubebuilder:subresource:status +// +kubebuilder:resource:scope=Cluster // Node is a worker node in Kubernetes. // Each node will have a unique identifier in the cache (i.e. in etcd). @@ -4710,6 +4753,8 @@ type NamespaceStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []NamespaceCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` } @@ -4827,6 +4872,8 @@ type EphemeralContainers struct { // or modified. // +patchMergeKey=name // +patchStrategy=merge + // +listType=map + // +listMapKey=name EphemeralContainers []EphemeralContainer `json:"ephemeralContainers" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=ephemeralContainers"` } @@ -5084,8 +5131,7 @@ type LocalObjectReference struct { // 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? - // +optional - Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + Name string `json:"name" protobuf:"bytes,1,opt,name=name"` } // TypedLocalObjectReference contains enough information to let you locate the @@ -5706,6 +5752,8 @@ type ComponentStatus struct { // +optional // +patchMergeKey=type // +patchStrategy=merge + // +listType=map + // +listMapKey=type Conditions []ComponentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` }