mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
Merge pull request #67301 from dixudx/use_apimachinery_NameIsDNSSubdomain
Automatic merge from submit-queue (batch tested with PRs 67399, 67471, 66815, 67301, 55840). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. use NameIsDNSSubdomain validation from staging **What this PR does / why we need it**: > // TODO update all references to these functions to point to the apimachineryvalidation ones **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: xref #67219 **Special notes for your reviewer**: /cc seans3 @kubernetes/sig-apps-pr-reviews @kubernetes/sig-api-machinery-pr-reviews **Release note**: ```release-note None ```
This commit is contained in:
commit
21c2af131e
@ -15,6 +15,7 @@ go_library(
|
|||||||
"//pkg/apis/core:go_default_library",
|
"//pkg/apis/core:go_default_library",
|
||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
|
||||||
|
@ -20,6 +20,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -36,7 +37,7 @@ func ValidateStatefulSetName(name string, prefix bool) []string {
|
|||||||
// TODO: Validate that there's name for the suffix inserted by the pods.
|
// TODO: Validate that there's name for the suffix inserted by the pods.
|
||||||
// Currently this is just "-index". In the future we may allow a user
|
// Currently this is just "-index". In the future we may allow a user
|
||||||
// specified list of suffixes and we need to validate the longest one.
|
// specified list of suffixes and we need to validate the longest one.
|
||||||
return apivalidation.NameIsDNSSubdomain(name, prefix)
|
return apimachineryvalidation.NameIsDNSSubdomain(name, prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validates the given template and ensures that it is in accordance with the desired selector.
|
// Validates the given template and ensures that it is in accordance with the desired selector.
|
||||||
@ -208,7 +209,7 @@ func ValidateStatefulSetStatusUpdate(statefulSet, oldStatefulSet *apps.StatefulS
|
|||||||
// ValidateControllerRevisionName can be used to check whether the given ControllerRevision name is valid.
|
// ValidateControllerRevisionName can be used to check whether the given ControllerRevision name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateControllerRevisionName = apivalidation.NameIsDNSSubdomain
|
var ValidateControllerRevisionName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateControllerRevision collects errors for the fields of state and returns those errors as an ErrorList. If the
|
// ValidateControllerRevision collects errors for the fields of state and returns those errors as an ErrorList. If the
|
||||||
// returned list is empty, state is valid. Validation is performed to ensure that state is a valid ObjectMeta, its name
|
// returned list is empty, state is valid. Validation is performed to ensure that state is a valid ObjectMeta, its name
|
||||||
|
@ -13,6 +13,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/apis/autoscaling:go_default_library",
|
"//pkg/apis/autoscaling:go_default_library",
|
||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/validation/path:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation/path:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
|
@ -19,6 +19,7 @@ package validation
|
|||||||
import (
|
import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
pathvalidation "k8s.io/apimachinery/pkg/api/validation/path"
|
pathvalidation "k8s.io/apimachinery/pkg/api/validation/path"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
@ -28,7 +29,7 @@ import (
|
|||||||
|
|
||||||
func ValidateScale(scale *autoscaling.Scale) field.ErrorList {
|
func ValidateScale(scale *autoscaling.Scale) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&scale.ObjectMeta, true, apivalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...)
|
allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&scale.ObjectMeta, true, apimachineryvalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...)
|
||||||
|
|
||||||
if scale.Spec.Replicas < 0 {
|
if scale.Spec.Replicas < 0 {
|
||||||
allErrs = append(allErrs, field.Invalid(field.NewPath("spec", "replicas"), scale.Spec.Replicas, "must be greater than or equal to 0"))
|
allErrs = append(allErrs, field.Invalid(field.NewPath("spec", "replicas"), scale.Spec.Replicas, "must be greater than or equal to 0"))
|
||||||
|
@ -195,23 +195,23 @@ type ValidateNameFunc apimachineryvalidation.ValidateNameFunc
|
|||||||
// ValidatePodName can be used to check whether the given pod name is valid.
|
// ValidatePodName can be used to check whether the given pod name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidatePodName = NameIsDNSSubdomain
|
var ValidatePodName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateReplicationControllerName can be used to check whether the given replication
|
// ValidateReplicationControllerName can be used to check whether the given replication
|
||||||
// controller name is valid.
|
// controller name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateReplicationControllerName = NameIsDNSSubdomain
|
var ValidateReplicationControllerName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateServiceName can be used to check whether the given service name is valid.
|
// ValidateServiceName can be used to check whether the given service name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateServiceName = NameIsDNS1035Label
|
var ValidateServiceName = apimachineryvalidation.NameIsDNS1035Label
|
||||||
|
|
||||||
// ValidateNodeName can be used to check whether the given node name is valid.
|
// ValidateNodeName can be used to check whether the given node name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateNodeName = NameIsDNSSubdomain
|
var ValidateNodeName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateNamespaceName can be used to check whether the given namespace name is valid.
|
// ValidateNamespaceName can be used to check whether the given namespace name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
@ -221,18 +221,18 @@ var ValidateNamespaceName = apimachineryvalidation.ValidateNamespaceName
|
|||||||
// ValidateLimitRangeName can be used to check whether the given limit range name is valid.
|
// ValidateLimitRangeName can be used to check whether the given limit range name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateLimitRangeName = NameIsDNSSubdomain
|
var ValidateLimitRangeName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateResourceQuotaName can be used to check whether the given
|
// ValidateResourceQuotaName can be used to check whether the given
|
||||||
// resource quota name is valid.
|
// resource quota name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateResourceQuotaName = NameIsDNSSubdomain
|
var ValidateResourceQuotaName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateSecretName can be used to check whether the given secret name is valid.
|
// ValidateSecretName can be used to check whether the given secret name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateSecretName = NameIsDNSSubdomain
|
var ValidateSecretName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateServiceAccountName can be used to check whether the given service account name is valid.
|
// ValidateServiceAccountName can be used to check whether the given service account name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
@ -242,7 +242,7 @@ var ValidateServiceAccountName = apimachineryvalidation.ValidateServiceAccountNa
|
|||||||
// ValidateEndpointsName can be used to check whether the given endpoints name is valid.
|
// ValidateEndpointsName can be used to check whether the given endpoints name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateEndpointsName = NameIsDNSSubdomain
|
var ValidateEndpointsName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateClusterName can be used to check whether the given cluster name is valid.
|
// ValidateClusterName can be used to check whether the given cluster name is valid.
|
||||||
var ValidateClusterName = apimachineryvalidation.ValidateClusterName
|
var ValidateClusterName = apimachineryvalidation.ValidateClusterName
|
||||||
@ -250,22 +250,11 @@ var ValidateClusterName = apimachineryvalidation.ValidateClusterName
|
|||||||
// ValidateClassName can be used to check whether the given class name is valid.
|
// ValidateClassName can be used to check whether the given class name is valid.
|
||||||
// It is defined here to avoid import cycle between pkg/apis/storage/validation
|
// It is defined here to avoid import cycle between pkg/apis/storage/validation
|
||||||
// (where it should be) and this file.
|
// (where it should be) and this file.
|
||||||
var ValidateClassName = NameIsDNSSubdomain
|
var ValidateClassName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidatePiorityClassName can be used to check whether the given priority
|
// ValidatePiorityClassName can be used to check whether the given priority
|
||||||
// class name is valid.
|
// class name is valid.
|
||||||
var ValidatePriorityClassName = NameIsDNSSubdomain
|
var ValidatePriorityClassName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// TODO update all references to these functions to point to the apimachineryvalidation ones
|
|
||||||
// NameIsDNSSubdomain is a ValidateNameFunc for names that must be a DNS subdomain.
|
|
||||||
func NameIsDNSSubdomain(name string, prefix bool) []string {
|
|
||||||
return apimachineryvalidation.NameIsDNSSubdomain(name, prefix)
|
|
||||||
}
|
|
||||||
|
|
||||||
// NameIsDNS1035Label is a ValidateNameFunc for names that must be a DNS 952 label.
|
|
||||||
func NameIsDNS1035Label(name string, prefix bool) []string {
|
|
||||||
return apimachineryvalidation.NameIsDNS1035Label(name, prefix)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Validates that given value is not negative.
|
// Validates that given value is not negative.
|
||||||
func ValidateNonnegativeField(value int64, fldPath *field.Path) field.ErrorList {
|
func ValidateNonnegativeField(value int64, fldPath *field.Path) field.ErrorList {
|
||||||
@ -1493,7 +1482,7 @@ func validateCSIPersistentVolumeSource(csi *core.CSIPersistentVolumeSource, fldP
|
|||||||
|
|
||||||
// ValidatePersistentVolumeName checks that a name is appropriate for a
|
// ValidatePersistentVolumeName checks that a name is appropriate for a
|
||||||
// PersistentVolumeName object.
|
// PersistentVolumeName object.
|
||||||
var ValidatePersistentVolumeName = NameIsDNSSubdomain
|
var ValidatePersistentVolumeName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
var supportedAccessModes = sets.NewString(string(core.ReadWriteOnce), string(core.ReadOnlyMany), string(core.ReadWriteMany))
|
var supportedAccessModes = sets.NewString(string(core.ReadWriteOnce), string(core.ReadOnlyMany), string(core.ReadWriteMany))
|
||||||
|
|
||||||
@ -4668,7 +4657,7 @@ func ValidateSecretUpdate(newSecret, oldSecret *core.Secret) field.ErrorList {
|
|||||||
// ValidateConfigMapName can be used to check whether the given ConfigMap name is valid.
|
// ValidateConfigMapName can be used to check whether the given ConfigMap name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateConfigMapName = NameIsDNSSubdomain
|
var ValidateConfigMapName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateConfigMap tests whether required fields in the ConfigMap are set.
|
// ValidateConfigMap tests whether required fields in the ConfigMap are set.
|
||||||
func ValidateConfigMap(cfg *core.ConfigMap) field.ErrorList {
|
func ValidateConfigMap(cfg *core.ConfigMap) field.ErrorList {
|
||||||
|
@ -15,6 +15,7 @@ go_library(
|
|||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
"//pkg/apis/extensions:go_default_library",
|
"//pkg/apis/extensions:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library",
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -167,10 +168,10 @@ func ValidateDaemonSetUpdateStrategy(strategy *extensions.DaemonSetUpdateStrateg
|
|||||||
// ValidateDaemonSetName can be used to check whether the given daemon set name is valid.
|
// ValidateDaemonSetName can be used to check whether the given daemon set name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateDaemonSetName = apivalidation.NameIsDNSSubdomain
|
var ValidateDaemonSetName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// Validates that the given name can be used as a deployment name.
|
// Validates that the given name can be used as a deployment name.
|
||||||
var ValidateDeploymentName = apivalidation.NameIsDNSSubdomain
|
var ValidateDeploymentName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
func ValidatePositiveIntOrPercent(intOrPercent intstr.IntOrString, fldPath *field.Path) field.ErrorList {
|
func ValidatePositiveIntOrPercent(intOrPercent intstr.IntOrString, fldPath *field.Path) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
@ -367,7 +368,7 @@ func ValidateIngress(ingress *extensions.Ingress) field.ErrorList {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ValidateIngressName validates that the given name can be used as an Ingress name.
|
// ValidateIngressName validates that the given name can be used as an Ingress name.
|
||||||
var ValidateIngressName = apivalidation.NameIsDNSSubdomain
|
var ValidateIngressName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
func validateIngressTLS(spec *extensions.IngressSpec, fldPath *field.Path) field.ErrorList {
|
func validateIngressTLS(spec *extensions.IngressSpec, fldPath *field.Path) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
@ -506,7 +507,7 @@ func validateIngressBackend(backend *extensions.IngressBackend, fldPath *field.P
|
|||||||
// name is valid.
|
// name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidateReplicaSetName = apivalidation.NameIsDNSSubdomain
|
var ValidateReplicaSetName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
// ValidateReplicaSet tests if required fields in the ReplicaSet are set.
|
// ValidateReplicaSet tests if required fields in the ReplicaSet are set.
|
||||||
func ValidateReplicaSet(rs *extensions.ReplicaSet) field.ErrorList {
|
func ValidateReplicaSet(rs *extensions.ReplicaSet) field.ErrorList {
|
||||||
|
@ -26,6 +26,7 @@ go_library(
|
|||||||
"//pkg/apis/core:go_default_library",
|
"//pkg/apis/core:go_default_library",
|
||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
"//pkg/apis/networking:go_default_library",
|
"//pkg/apis/networking:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package validation
|
package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
@ -30,7 +31,7 @@ import (
|
|||||||
// ValidateNetworkPolicyName can be used to check whether the given networkpolicy
|
// ValidateNetworkPolicyName can be used to check whether the given networkpolicy
|
||||||
// name is valid.
|
// name is valid.
|
||||||
func ValidateNetworkPolicyName(name string, prefix bool) []string {
|
func ValidateNetworkPolicyName(name string, prefix bool) []string {
|
||||||
return apivalidation.NameIsDNSSubdomain(name, prefix)
|
return apimachineryvalidation.NameIsDNSSubdomain(name, prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidateNetworkPolicyPort validates a NetworkPolicyPort
|
// ValidateNetworkPolicyPort validates a NetworkPolicyPort
|
||||||
|
@ -19,6 +19,7 @@ go_library(
|
|||||||
"//pkg/security/apparmor:go_default_library",
|
"//pkg/security/apparmor:go_default_library",
|
||||||
"//pkg/security/podsecuritypolicy/seccomp:go_default_library",
|
"//pkg/security/podsecuritypolicy/seccomp:go_default_library",
|
||||||
"//pkg/security/podsecuritypolicy/util:go_default_library",
|
"//pkg/security/podsecuritypolicy/util:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
@ -94,7 +95,7 @@ func ValidatePodDisruptionBudgetStatus(status policy.PodDisruptionBudgetStatus,
|
|||||||
// pod security policy name is valid.
|
// pod security policy name is valid.
|
||||||
// Prefix indicates this name will be used as part of generation, in which case
|
// Prefix indicates this name will be used as part of generation, in which case
|
||||||
// trailing dashes are allowed.
|
// trailing dashes are allowed.
|
||||||
var ValidatePodSecurityPolicyName = apivalidation.NameIsDNSSubdomain
|
var ValidatePodSecurityPolicyName = apimachineryvalidation.NameIsDNSSubdomain
|
||||||
|
|
||||||
func ValidatePodSecurityPolicy(psp *policy.PodSecurityPolicy) field.ErrorList {
|
func ValidatePodSecurityPolicy(psp *policy.PodSecurityPolicy) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
|
@ -24,6 +24,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
"//pkg/apis/scheduling:go_default_library",
|
"//pkg/apis/scheduling:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -20,6 +20,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
|
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
|
||||||
"k8s.io/kubernetes/pkg/apis/scheduling"
|
"k8s.io/kubernetes/pkg/apis/scheduling"
|
||||||
@ -29,7 +30,7 @@ import (
|
|||||||
// set correctly.
|
// set correctly.
|
||||||
func ValidatePriorityClass(pc *scheduling.PriorityClass) field.ErrorList {
|
func ValidatePriorityClass(pc *scheduling.PriorityClass) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&pc.ObjectMeta, false, apivalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...)
|
allErrs = append(allErrs, apivalidation.ValidateObjectMeta(&pc.ObjectMeta, false, apimachineryvalidation.NameIsDNSSubdomain, field.NewPath("metadata"))...)
|
||||||
// If the priorityClass starts with a system prefix, it must be one of the
|
// If the priorityClass starts with a system prefix, it must be one of the
|
||||||
// predefined system priority classes.
|
// predefined system priority classes.
|
||||||
if strings.HasPrefix(pc.Name, scheduling.SystemPriorityClassPrefix) {
|
if strings.HasPrefix(pc.Name, scheduling.SystemPriorityClassPrefix) {
|
||||||
|
@ -24,6 +24,7 @@ go_library(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/apis/core/validation:go_default_library",
|
"//pkg/apis/core/validation:go_default_library",
|
||||||
"//pkg/apis/settings:go_default_library",
|
"//pkg/apis/settings:go_default_library",
|
||||||
|
"//staging/src/k8s.io/apimachinery/pkg/api/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/validation:go_default_library",
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/util/validation/field:go_default_library",
|
||||||
],
|
],
|
||||||
|
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package validation
|
package validation
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation"
|
||||||
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation"
|
||||||
"k8s.io/apimachinery/pkg/util/validation/field"
|
"k8s.io/apimachinery/pkg/util/validation/field"
|
||||||
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
|
apivalidation "k8s.io/kubernetes/pkg/apis/core/validation"
|
||||||
@ -30,7 +31,7 @@ func ValidatePodPresetName(name string, prefix bool) []string {
|
|||||||
// TODO: Validate that there's name for the suffix inserted by the pods.
|
// TODO: Validate that there's name for the suffix inserted by the pods.
|
||||||
// Currently this is just "-index". In the future we may allow a user
|
// Currently this is just "-index". In the future we may allow a user
|
||||||
// specified list of suffixes and we need to validate the longest one.
|
// specified list of suffixes and we need to validate the longest one.
|
||||||
return apivalidation.NameIsDNSSubdomain(name, prefix)
|
return apimachineryvalidation.NameIsDNSSubdomain(name, prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ValidatePodPresetSpec tests if required fields in the PodPreset spec are set.
|
// ValidatePodPresetSpec tests if required fields in the PodPreset spec are set.
|
||||||
|
Loading…
Reference in New Issue
Block a user