mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	An annotation in the pod spec of the form:
podpreset.admission.kubernetes.io/exclude: "true"
Will cause the admission controller to skip manipulating the pod spec,
no matter the labelling.
The annotation for a podpreset acting on a pod has also been slightly
modified to contain a podpreset prefix:
podpreset.admission.kubernetes.io/podpreset-{name} = resource version
Fixes #44161
		
	
		
			
				
	
	
		
			114 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
/*
 | 
						|
Copyright 2017 The Kubernetes Authors.
 | 
						|
 | 
						|
Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
you may not use this file except in compliance with the License.
 | 
						|
You may obtain a copy of the License at
 | 
						|
 | 
						|
    http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
Unless required by applicable law or agreed to in writing, software
 | 
						|
distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
See the License for the specific language governing permissions and
 | 
						|
limitations under the License.
 | 
						|
*/
 | 
						|
 | 
						|
// This file should be consistent with pkg/api/v1/annotation_key_constants.go.
 | 
						|
 | 
						|
package api
 | 
						|
 | 
						|
const (
 | 
						|
	// ImagePolicyFailedOpenKey is added to pods created by failing open when the image policy
 | 
						|
	// webhook backend fails.
 | 
						|
	ImagePolicyFailedOpenKey string = "alpha.image-policy.k8s.io/failed-open"
 | 
						|
 | 
						|
	// PodPresetOptOutAnnotationKey represents the annotation key for a pod to exempt itself from pod preset manipulation
 | 
						|
	PodPresetOptOutAnnotationKey string = "podpreset.admission.kubernetes.io/exclude"
 | 
						|
 | 
						|
	// MirrorAnnotationKey represents the annotation key set by kubelets when creating mirror pods
 | 
						|
	MirrorPodAnnotationKey string = "kubernetes.io/config.mirror"
 | 
						|
 | 
						|
	// TolerationsAnnotationKey represents the key of tolerations data (json serialized)
 | 
						|
	// in the Annotations of a Pod.
 | 
						|
	TolerationsAnnotationKey string = "scheduler.alpha.kubernetes.io/tolerations"
 | 
						|
 | 
						|
	// TaintsAnnotationKey represents the key of taints data (json serialized)
 | 
						|
	// in the Annotations of a Node.
 | 
						|
	TaintsAnnotationKey string = "scheduler.alpha.kubernetes.io/taints"
 | 
						|
 | 
						|
	// SeccompPodAnnotationKey represents the key of a seccomp profile applied
 | 
						|
	// to all containers of a pod.
 | 
						|
	SeccompPodAnnotationKey string = "seccomp.security.alpha.kubernetes.io/pod"
 | 
						|
 | 
						|
	// SeccompContainerAnnotationKeyPrefix represents the key of a seccomp profile applied
 | 
						|
	// to one container of a pod.
 | 
						|
	SeccompContainerAnnotationKeyPrefix string = "container.seccomp.security.alpha.kubernetes.io/"
 | 
						|
 | 
						|
	// CreatedByAnnotation represents the key used to store the spec(json)
 | 
						|
	// used to create the resource.
 | 
						|
	CreatedByAnnotation = "kubernetes.io/created-by"
 | 
						|
 | 
						|
	// PreferAvoidPodsAnnotationKey represents the key of preferAvoidPods data (json serialized)
 | 
						|
	// in the Annotations of a Node.
 | 
						|
	PreferAvoidPodsAnnotationKey string = "scheduler.alpha.kubernetes.io/preferAvoidPods"
 | 
						|
 | 
						|
	// SysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure
 | 
						|
	// container of a pod. The annotation value is a comma separated list of sysctl_name=value
 | 
						|
	// key-value pairs. Only a limited set of whitelisted and isolated sysctls is supported by
 | 
						|
	// the kubelet. Pods with other sysctls will fail to launch.
 | 
						|
	SysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/sysctls"
 | 
						|
 | 
						|
	// UnsafeSysctlsPodAnnotationKey represents the key of sysctls which are set for the infrastructure
 | 
						|
	// container of a pod. The annotation value is a comma separated list of sysctl_name=value
 | 
						|
	// key-value pairs. Unsafe sysctls must be explicitly enabled for a kubelet. They are properly
 | 
						|
	// namespaced to a pod or a container, but their isolation is usually unclear or weak. Their use
 | 
						|
	// is at-your-own-risk. Pods that attempt to set an unsafe sysctl that is not enabled for a kubelet
 | 
						|
	// will fail to launch.
 | 
						|
	UnsafeSysctlsPodAnnotationKey string = "security.alpha.kubernetes.io/unsafe-sysctls"
 | 
						|
 | 
						|
	// ObjectTTLAnnotations represents a suggestion for kubelet for how long it can cache
 | 
						|
	// an object (e.g. secret, config map) before fetching it again from apiserver.
 | 
						|
	// This annotation can be attached to node.
 | 
						|
	ObjectTTLAnnotationKey string = "node.alpha.kubernetes.io/ttl"
 | 
						|
 | 
						|
	// AffinityAnnotationKey represents the key of affinity data (json serialized)
 | 
						|
	// in the Annotations of a Pod.
 | 
						|
	// TODO: remove when alpha support for affinity is removed
 | 
						|
	AffinityAnnotationKey string = "scheduler.alpha.kubernetes.io/affinity"
 | 
						|
 | 
						|
	// annotation key prefix used to identify non-convertible json paths.
 | 
						|
	NonConvertibleAnnotationPrefix = "non-convertible.kubernetes.io"
 | 
						|
 | 
						|
	kubectlPrefix = "kubectl.kubernetes.io/"
 | 
						|
 | 
						|
	// LastAppliedConfigAnnotation is the annotation used to store the previous
 | 
						|
	// configuration of a resource for use in a three way diff by UpdateApplyAnnotation.
 | 
						|
	LastAppliedConfigAnnotation = kubectlPrefix + "last-applied-configuration"
 | 
						|
 | 
						|
	// AnnotationLoadBalancerSourceRangesKey is the key of the annotation on a service to set allowed ingress ranges on their LoadBalancers
 | 
						|
	//
 | 
						|
	// It should be a comma-separated list of CIDRs, e.g. `0.0.0.0/0` to
 | 
						|
	// allow full access (the default) or `18.0.0.0/8,56.0.0.0/8` to allow
 | 
						|
	// access only from the CIDRs currently allocated to MIT & the USPS.
 | 
						|
	//
 | 
						|
	// Not all cloud providers support this annotation, though AWS & GCE do.
 | 
						|
	AnnotationLoadBalancerSourceRangesKey = "service.beta.kubernetes.io/load-balancer-source-ranges"
 | 
						|
 | 
						|
	// AnnotationValueExternalTrafficLocal Value of annotation to specify local endpoints behavior.
 | 
						|
	AnnotationValueExternalTrafficLocal = "OnlyLocal"
 | 
						|
	// AnnotationValueExternalTrafficGlobal Value of annotation to specify global (legacy) behavior.
 | 
						|
	AnnotationValueExternalTrafficGlobal = "Global"
 | 
						|
 | 
						|
	// TODO: The beta annotations have been deprecated, remove them when we release k8s 1.8.
 | 
						|
 | 
						|
	// BetaAnnotationHealthCheckNodePort Annotation specifying the healthcheck nodePort for the service.
 | 
						|
	// If not specified, annotation is created by the service api backend with the allocated nodePort.
 | 
						|
	// Will use user-specified nodePort value if specified by the client.
 | 
						|
	BetaAnnotationHealthCheckNodePort = "service.beta.kubernetes.io/healthcheck-nodeport"
 | 
						|
 | 
						|
	// BetaAnnotationExternalTraffic An annotation that denotes if this Service desires to route
 | 
						|
	// external traffic to local endpoints only. This preserves Source IP and avoids a second hop.
 | 
						|
	BetaAnnotationExternalTraffic = "service.beta.kubernetes.io/external-traffic"
 | 
						|
)
 |