@@ -171,7 +171,7 @@ import (
171
171
// +optional
172
172
csi ?: null | #CSIVolumeSource @go (CSI ,*CSIVolumeSource ) @protobuf (28 ,bytes ,opt )
173
173
174
- // Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature) .
174
+ // Ephemeral represents a volume that is handled by a cluster storage driver.
175
175
// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
176
176
// and deleted when the pod is removed.
177
177
//
@@ -196,6 +196,9 @@ import (
196
196
// A pod can use both types of ephemeral volumes and
197
197
// persistent volumes at the same time.
198
198
//
199
+ // This is a beta feature and only available when the GenericEphemeralVolume
200
+ // feature gate is enabled.
201
+ //
199
202
// +optional
200
203
ephemeral ?: null | #EphemeralVolumeSource @go (Ephemeral ,*EphemeralVolumeSource ) @protobuf (29 ,bytes ,opt )
201
204
}
@@ -2033,11 +2036,6 @@ import (
2033
2036
//
2034
2037
// Required, must not be nil.
2035
2038
volumeClaimTemplate ?: null | #PersistentVolumeClaimTemplate @go (VolumeClaimTemplate ,*PersistentVolumeClaimTemplate ) @protobuf (1 ,bytes ,opt )
2036
-
2037
- // Specifies a read-only configuration for the volume.
2038
- // Defaults to false (read/write).
2039
- // +optional
2040
- readOnly ?: bool @go (ReadOnly ) @protobuf (2 ,varint ,opt )
2041
2039
}
2042
2040
2043
2041
// PersistentVolumeClaimTemplate is used to produce
@@ -2392,6 +2390,18 @@ import (
2392
2390
// Defaults to 3. Minimum value is 1.
2393
2391
// +optional
2394
2392
failureThreshold ?: int32 @go (FailureThreshold ) @protobuf (6 ,varint ,opt )
2393
+
2394
+ // Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
2395
+ // The grace period is the duration in seconds after the processes running in the pod are sent
2396
+ // a termination signal and the time when the processes are forcibly halted with a kill signal.
2397
+ // Set this value longer than the expected cleanup time for your process.
2398
+ // If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
2399
+ // value overrides the value provided by the pod spec.
2400
+ // Value must be non-negative integer. The value zero indicates stop immediately via
2401
+ // the kill signal (no opportunity to shut down).
2402
+ // This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate.
2403
+ // +optional
2404
+ terminationGracePeriodSeconds ?: null | int64 @go (TerminationGracePeriodSeconds ,*int64 ) @protobuf (7 ,varint ,opt )
2395
2405
}
2396
2406
2397
2407
// PullPolicy describes a policy for if/when to pull a container image
@@ -2457,14 +2467,14 @@ import (
2457
2467
// ResourceRequirements describes the compute resource requirements.
2458
2468
#ResourceRequirements : {
2459
2469
// Limits describes the maximum amount of compute resources allowed.
2460
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute- resources-container /
2470
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers /
2461
2471
// +optional
2462
2472
limits ?: #ResourceList @go (Limits ) @protobuf (1 ,bytes ,rep ,casttype =ResourceList ,castkey =ResourceName )
2463
2473
2464
2474
// Requests describes the minimum amount of compute resources required.
2465
2475
// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
2466
2476
// otherwise to an implementation-defined value.
2467
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute- resources-container /
2477
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers /
2468
2478
// +optional
2469
2479
requests ?: #ResourceList @go (Requests ) @protobuf (2 ,bytes ,rep ,casttype =ResourceList ,castkey =ResourceName )
2470
2480
}
@@ -2548,7 +2558,7 @@ import (
2548
2558
2549
2559
// Compute Resources required by this container.
2550
2560
// Cannot be updated.
2551
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute- resources-container /
2561
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers /
2552
2562
// +optional
2553
2563
resources ?: #ResourceRequirements @go (Resources ) @protobuf (8 ,bytes ,opt )
2554
2564
@@ -3112,8 +3122,10 @@ import (
3112
3122
// +optional
3113
3123
labelSelector ?: null | metav1 .#LabelSelector @go (LabelSelector ,*metav1.LabelSelector ) @protobuf (1 ,bytes ,opt )
3114
3124
3115
- // namespaces specifies which namespaces the labelSelector applies to (matches against);
3116
- // null or empty list means "this pod's namespace"
3125
+ // namespaces specifies a static list of namespace names that the term applies to.
3126
+ // The term is applied to the union of the namespaces listed in this field
3127
+ // and the ones selected by namespaceSelector.
3128
+ // null or empty namespaces list and null namespaceSelector means "this pod's namespace"
3117
3129
// +optional
3118
3130
namespaces ?: [...string ] @go (Namespaces ,[]string ) @protobuf (2 ,bytes ,rep )
3119
3131
@@ -3123,6 +3135,15 @@ import (
3123
3135
// selected pods is running.
3124
3136
// Empty topologyKey is not allowed.
3125
3137
topologyKey : string @go (TopologyKey ) @protobuf (3 ,bytes ,opt )
3138
+
3139
+ // A label query over the set of namespaces that the term applies to.
3140
+ // The term is applied to the union of the namespaces selected by this field
3141
+ // and the ones listed in the namespaces field.
3142
+ // null selector and null or empty namespaces list means "this pod's namespace".
3143
+ // An empty selector ({}) matches all namespaces.
3144
+ // This field is alpha-level and is only honored when PodAffinityNamespaceSelector feature is enabled.
3145
+ // +optional
3146
+ namespaceSelector ?: null | metav1 .#LabelSelector @go (NamespaceSelector ,*metav1.LabelSelector ) @protobuf (4 ,bytes ,opt )
3126
3147
}
3127
3148
3128
3149
// Node affinity is a group of node affinity scheduling rules.
@@ -3302,7 +3323,8 @@ import (
3302
3323
restartPolicy ?: #RestartPolicy @go (RestartPolicy ) @protobuf (3 ,bytes ,opt ,casttype =RestartPolicy )
3303
3324
3304
3325
// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
3305
- // Value must be non-negative integer. The value zero indicates delete immediately.
3326
+ // Value must be non-negative integer. The value zero indicates stop immediately via
3327
+ // the kill signal (no opportunity to shut down).
3306
3328
// If this value is nil, the default grace period will be used instead.
3307
3329
// The grace period is the duration in seconds after the processes running in the pod are sent
3308
3330
// a termination signal and the time when the processes are forcibly halted with a kill signal.
@@ -4339,6 +4361,21 @@ import (
4339
4361
// record, with no exposing or proxying of any pods involved.
4340
4362
#ServiceTypeExternalName : #ServiceType & " ExternalName "
4341
4363
4364
+ // ServiceInternalTrafficPolicyType describes the type of traffic routing for
4365
+ // internal traffic
4366
+ #ServiceInternalTrafficPolicyType : string // #enumServiceInternalTrafficPolicyType
4367
+
4368
+ #enumServiceInternalTrafficPolicyType :
4369
+ #ServiceInternalTrafficPolicyCluster |
4370
+ #ServiceInternalTrafficPolicyLocal
4371
+
4372
+ // ServiceInternalTrafficPolicyCluster routes traffic to all endpoints
4373
+ #ServiceInternalTrafficPolicyCluster : #ServiceInternalTrafficPolicyType & " Cluster "
4374
+
4375
+ // ServiceInternalTrafficPolicyLocal only routes to node-local
4376
+ // endpoints, otherwise drops the traffic
4377
+ #ServiceInternalTrafficPolicyLocal : #ServiceInternalTrafficPolicyType & " Local "
4378
+
4342
4379
// Service External Traffic Policy Type string
4343
4380
#ServiceExternalTrafficPolicyType : string // #enumServiceExternalTrafficPolicyType
4344
4381
@@ -4566,7 +4603,7 @@ import (
4566
4603
// externalName is the external reference that discovery mechanisms will
4567
4604
// return as an alias for this service (e.g. a DNS CNAME record). No
4568
4605
// proxying will be involved. Must be a lowercase RFC-1123 hostname
4569
- // (https://tools.ietf.org/html/rfc1123) and requires Type to be
4606
+ // (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
4570
4607
// +optional
4571
4608
externalName ?: string @go (ExternalName ) @protobuf (10 ,bytes ,opt )
4572
4609
@@ -4619,6 +4656,7 @@ import (
4619
4656
// value, if used, only makes sense as the last value in the list.
4620
4657
// If this is not specified or empty, no topology constraints will be applied.
4621
4658
// This field is alpha-level and is only honored by servers that enable the ServiceTopology feature.
4659
+ // This field is deprecated and will be removed in a future version.
4622
4660
// +optional
4623
4661
topologyKeys ?: [...string ] @go (TopologyKeys ,[]string ) @protobuf (16 ,bytes ,opt )
4624
4662
@@ -4663,6 +4701,30 @@ import (
4663
4701
// This field is alpha-level and is only honored by servers that enable the ServiceLBNodePortControl feature.
4664
4702
// +optional
4665
4703
allocateLoadBalancerNodePorts ?: null | bool @go (AllocateLoadBalancerNodePorts ,*bool ) @protobuf (20 ,bytes ,opt )
4704
+
4705
+ // loadBalancerClass is the class of the load balancer implementation this Service belongs to.
4706
+ // If specified, the value of this field must be a label-style identifier, with an optional prefix,
4707
+ // e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
4708
+ // This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
4709
+ // balancer implementation is used, today this is typically done through the cloud provider integration,
4710
+ // but should apply for any default implementation. If set, it is assumed that a load balancer
4711
+ // implementation is watching for Services with a matching class. Any default load balancer
4712
+ // implementation (e.g. cloud providers) should ignore Services that set this field.
4713
+ // This field can only be set when creating or updating a Service to type 'LoadBalancer'.
4714
+ // Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
4715
+ // +featureGate=LoadBalancerClass
4716
+ // +optional
4717
+ loadBalancerClass ?: null | string @go (LoadBalancerClass ,*string ) @protobuf (21 ,bytes ,opt )
4718
+
4719
+ // InternalTrafficPolicy specifies if the cluster internal traffic
4720
+ // should be routed to all endpoints or node-local endpoints only.
4721
+ // "Cluster" routes internal traffic to a Service to all endpoints.
4722
+ // "Local" routes traffic to node-local endpoints only, traffic is
4723
+ // dropped if no node-local endpoints are ready.
4724
+ // The default value is "Cluster".
4725
+ // +featureGate=ServiceInternalTrafficPolicy
4726
+ // +optional
4727
+ internalTrafficPolicy ?: null | #ServiceInternalTrafficPolicyType @go (InternalTrafficPolicy ,*ServiceInternalTrafficPolicyType ) @protobuf (22 ,bytes ,opt )
4666
4728
}
4667
4729
4668
4730
// ServicePort contains information on service's port.
@@ -4677,6 +4739,7 @@ import (
4677
4739
4678
4740
// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
4679
4741
// Default is TCP.
4742
+ // +default="TCP"
4680
4743
// +optional
4681
4744
protocol ?: #Protocol @go (Protocol ) @protobuf (2 ,bytes ,opt ,casttype =Protocol )
4682
4745
@@ -6007,7 +6070,7 @@ import (
6007
6070
metadata ?: metav1 .#ListMeta @go (ListMeta ) @protobuf (1 ,bytes ,opt )
6008
6071
6009
6072
// Items is a list of LimitRange objects.
6010
- // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute- resources-container /
6073
+ // More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers /
6011
6074
items : [...#LimitRange ] @go (Items ,[]LimitRange ) @protobuf (2 ,bytes ,rep )
6012
6075
}
6013
6076
@@ -6074,12 +6137,13 @@ import (
6074
6137
#ResourceQuotaScopeNotTerminating |
6075
6138
#ResourceQuotaScopeBestEffort |
6076
6139
#ResourceQuotaScopeNotBestEffort |
6077
- #ResourceQuotaScopePriorityClass
6140
+ #ResourceQuotaScopePriorityClass |
6141
+ #ResourceQuotaScopeCrossNamespacePodAffinity
6078
6142
6079
- // Match all pod objects where spec.activeDeadlineSeconds
6143
+ // Match all pod objects where spec.activeDeadlineSeconds >=0
6080
6144
#ResourceQuotaScopeTerminating : #ResourceQuotaScope & " Terminating "
6081
6145
6082
- // Match all pod objects where ! spec.activeDeadlineSeconds
6146
+ // Match all pod objects where spec.activeDeadlineSeconds is nil
6083
6147
#ResourceQuotaScopeNotTerminating : #ResourceQuotaScope & " NotTerminating "
6084
6148
6085
6149
// Match all pod objects that have best effort quality of service
@@ -6091,6 +6155,10 @@ import (
6091
6155
// Match all pod objects that have priority class mentioned
6092
6156
#ResourceQuotaScopePriorityClass : #ResourceQuotaScope & " PriorityClass "
6093
6157
6158
+ // Match all pod objects that have cross-namespace pod (anti)affinity mentioned.
6159
+ // This is an alpha feature enabled by the PodAffinityNamespaceSelector feature flag.
6160
+ #ResourceQuotaScopeCrossNamespacePodAffinity : #ResourceQuotaScope & " CrossNamespacePodAffinity "
6161
+
6094
6162
// ResourceQuotaSpec defines the desired hard limits to enforce for Quota.
6095
6163
#ResourceQuotaSpec : {
6096
6164
// hard is the set of desired hard limits for each named resource.
@@ -6211,7 +6279,6 @@ import (
6211
6279
// be updated (only object metadata can be modified).
6212
6280
// If not set to true, the field can be modified at any time.
6213
6281
// Defaulted to nil.
6214
- // This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
6215
6282
// +optional
6216
6283
immutable ?: null | bool @go (Immutable ,*bool ) @protobuf (5 ,varint ,opt )
6217
6284
@@ -6223,9 +6290,9 @@ import (
6223
6290
data ?: {[string ]: bytes } @go (Data ,map[string][]byte ) @protobuf (2 ,bytes ,rep )
6224
6291
6225
6292
// stringData allows specifying non-binary secret data in string form.
6226
- // It is provided as a write-only convenience method .
6293
+ // It is provided as a write-only input field for convenience .
6227
6294
// All keys and values are merged into the data field on write, overwriting any existing values.
6228
- // It is never output when reading from the API.
6295
+ // The stringData field is never output when reading from the API.
6229
6296
// +k8s:conversion-gen=false
6230
6297
// +optional
6231
6298
stringData ?: {[string ]: string } @go (StringData ,map[string]string ) @protobuf (4 ,bytes ,rep )
@@ -6366,7 +6433,6 @@ import (
6366
6433
// be updated (only object metadata can be modified).
6367
6434
// If not set to true, the field can be modified at any time.
6368
6435
// Defaulted to nil.
6369
- // This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
6370
6436
// +optional
6371
6437
immutable ?: null | bool @go (Immutable ,*bool ) @protobuf (4 ,varint ,opt )
6372
6438
@@ -6665,7 +6731,7 @@ import (
6665
6731
data : bytes @go (Data ,[]byte ) @protobuf (3 ,bytes ,opt )
6666
6732
}
6667
6733
6668
- // "default-scheduler" is the name of default scheduler.
6734
+ // DefaultSchedulerName defines the name of default scheduler.
6669
6735
#DefaultSchedulerName : " default-scheduler "
6670
6736
6671
6737
// RequiredDuringScheduling affinity is not symmetric, but there is an implicit PreferredDuringScheduling affinity rule
0 commit comments