mirror of
https://gitea.com/Lydanne/buildx.git
synced 2025-07-09 21:17:09 +08:00
vendor: update buildkit to 2943a0838
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
27
vendor/k8s.io/api/core/v1/annotation_key_constants.go
generated
vendored
27
vendor/k8s.io/api/core/v1/annotation_key_constants.go
generated
vendored
@ -39,17 +39,42 @@ const (
|
||||
|
||||
// SeccompPodAnnotationKey represents the key of a seccomp profile applied
|
||||
// to all containers of a pod.
|
||||
// Deprecated: set a pod security context `seccompProfile` field.
|
||||
SeccompPodAnnotationKey string = "seccomp.security.alpha.kubernetes.io/pod"
|
||||
|
||||
// SeccompContainerAnnotationKeyPrefix represents the key of a seccomp profile applied
|
||||
// to one container of a pod.
|
||||
// Deprecated: set a container security context `seccompProfile` field.
|
||||
SeccompContainerAnnotationKeyPrefix string = "container.seccomp.security.alpha.kubernetes.io/"
|
||||
|
||||
// SeccompProfileRuntimeDefault represents the default seccomp profile used by container runtime.
|
||||
// Deprecated: set a pod or container security context `seccompProfile` of type "RuntimeDefault" instead.
|
||||
SeccompProfileRuntimeDefault string = "runtime/default"
|
||||
|
||||
// SeccompProfileNameUnconfined is the unconfined seccomp profile.
|
||||
SeccompProfileNameUnconfined string = "unconfined"
|
||||
|
||||
// SeccompLocalhostProfileNamePrefix is the prefix for specifying profiles loaded from the node's disk.
|
||||
SeccompLocalhostProfileNamePrefix = "localhost/"
|
||||
|
||||
// AppArmorBetaContainerAnnotationKeyPrefix is the prefix to an annotation key specifying a container's apparmor profile.
|
||||
AppArmorBetaContainerAnnotationKeyPrefix = "container.apparmor.security.beta.kubernetes.io/"
|
||||
// AppArmorBetaDefaultProfileAnnotatoinKey is the annotation key specifying the default AppArmor profile.
|
||||
AppArmorBetaDefaultProfileAnnotationKey = "apparmor.security.beta.kubernetes.io/defaultProfileName"
|
||||
// AppArmorBetaAllowedProfileAnnotationKey is the annotation key specifying the allowed AppArmor profiles.
|
||||
AppArmorBetaAllowedProfilesAnnotationKey = "apparmor.security.beta.kubernetes.io/allowedProfileNames"
|
||||
|
||||
// AppArmorBetaProfileRuntimeDefault is the profile specifying the runtime default.
|
||||
AppArmorBetaProfileRuntimeDefault = "runtime/default"
|
||||
|
||||
// AppArmorBetaProfileNamePrefix is the prefix for specifying profiles loaded on the node.
|
||||
AppArmorBetaProfileNamePrefix = "localhost/"
|
||||
|
||||
// AppArmorBetaProfileNameUnconfined is the Unconfined AppArmor profile
|
||||
AppArmorBetaProfileNameUnconfined = "unconfined"
|
||||
|
||||
// DeprecatedSeccompProfileDockerDefault represents the default seccomp profile used by docker.
|
||||
// This is now deprecated and should be replaced by SeccompProfileRuntimeDefault.
|
||||
// Deprecated: set a pod or container security context `seccompProfile` of type "RuntimeDefault" instead.
|
||||
DeprecatedSeccompProfileDockerDefault string = "docker/default"
|
||||
|
||||
// PreferAvoidPodsAnnotationKey represents the key of preferAvoidPods data (json serialized)
|
||||
|
3253
vendor/k8s.io/api/core/v1/generated.pb.go
generated
vendored
3253
vendor/k8s.io/api/core/v1/generated.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
335
vendor/k8s.io/api/core/v1/generated.proto
generated
vendored
335
vendor/k8s.io/api/core/v1/generated.proto
generated
vendored
@ -424,6 +424,7 @@ message ComponentCondition {
|
||||
}
|
||||
|
||||
// ComponentStatus (and ComponentStatusList) holds the cluster validation info.
|
||||
// Deprecated: This API is deprecated in v1.19+
|
||||
message ComponentStatus {
|
||||
// Standard object's metadata.
|
||||
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||
@ -438,6 +439,7 @@ message ComponentStatus {
|
||||
}
|
||||
|
||||
// Status of all the conditions for the component as a list of ComponentStatus objects.
|
||||
// Deprecated: This API is deprecated in v1.19+
|
||||
message ComponentStatusList {
|
||||
// Standard list metadata.
|
||||
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
||||
@ -455,6 +457,14 @@ message ConfigMap {
|
||||
// +optional
|
||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||
|
||||
// Immutable, if set to true, ensures that data stored in the ConfigMap cannot
|
||||
// be updated (only object metadata can be modified).
|
||||
// If not set to true, the field can be modified at any time.
|
||||
// Defaulted to nil.
|
||||
// This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
|
||||
// +optional
|
||||
optional bool immutable = 4;
|
||||
|
||||
// Data contains the configuration data.
|
||||
// Each key must consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Values with non-UTF-8 byte sequences must use the BinaryData field.
|
||||
@ -580,8 +590,10 @@ message ConfigMapVolumeSource {
|
||||
// +optional
|
||||
repeated KeyToPath items = 2;
|
||||
|
||||
// Optional: mode bits to use on created files by default. Must be a
|
||||
// value between 0 and 0777. Defaults to 0644.
|
||||
// Optional: mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// Defaults to 0644.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -681,7 +693,6 @@ message Container {
|
||||
repeated VolumeMount volumeMounts = 9;
|
||||
|
||||
// volumeDevices is the list of block devices to be used by the container.
|
||||
// This is a beta feature.
|
||||
// +patchMergeKey=devicePath
|
||||
// +patchStrategy=merge
|
||||
// +optional
|
||||
@ -707,7 +718,7 @@ message Container {
|
||||
// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
|
||||
// when it might take a long time to load data or warm a cache, than during steady-state operation.
|
||||
// This cannot be updated.
|
||||
// This is an alpha feature enabled by the StartupProbe feature flag.
|
||||
// This is a beta feature enabled by the StartupProbe feature flag.
|
||||
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
||||
// +optional
|
||||
optional Probe startupProbe = 22;
|
||||
@ -950,8 +961,10 @@ message DownwardAPIVolumeFile {
|
||||
// +optional
|
||||
optional ResourceFieldSelector resourceFieldRef = 3;
|
||||
|
||||
// Optional: mode bits to use on this file, must be a value between 0
|
||||
// and 0777. If not specified, the volume defaultMode will be used.
|
||||
// Optional: mode bits used to set permissions on this file, must be an octal value
|
||||
// between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// If not specified, the volume defaultMode will be used.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
// +optional
|
||||
@ -966,7 +979,10 @@ message DownwardAPIVolumeSource {
|
||||
repeated DownwardAPIVolumeFile items = 1;
|
||||
|
||||
// Optional: mode bits to use on created files by default. Must be a
|
||||
// value between 0 and 0777. Defaults to 0644.
|
||||
// Optional: mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// Defaults to 0644.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -1034,6 +1050,17 @@ message EndpointPort {
|
||||
// Default is TCP.
|
||||
// +optional
|
||||
optional string protocol = 3;
|
||||
|
||||
// The application protocol for this port.
|
||||
// This field follows standard Kubernetes label syntax.
|
||||
// Un-prefixed names are reserved for IANA standard service names (as per
|
||||
// RFC-6335 and http://www.iana.org/assignments/service-names).
|
||||
// Non-standard protocols should use prefixed names such as
|
||||
// mycompany.com/my-custom-protocol.
|
||||
// This is a beta field that is guarded by the ServiceAppProtocol feature
|
||||
// gate and enabled by default.
|
||||
// +optional
|
||||
optional string appProtocol = 4;
|
||||
}
|
||||
|
||||
// EndpointSubset is a group of addresses with a common set of ports. The
|
||||
@ -1141,8 +1168,8 @@ message EnvVar {
|
||||
|
||||
// EnvVarSource represents a source for the value of an EnvVar.
|
||||
message EnvVarSource {
|
||||
// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations,
|
||||
// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP.
|
||||
// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
|
||||
// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
|
||||
// +optional
|
||||
optional ObjectFieldSelector fieldRef = 1;
|
||||
|
||||
@ -1258,7 +1285,6 @@ message EphemeralContainerCommon {
|
||||
repeated VolumeMount volumeMounts = 9;
|
||||
|
||||
// volumeDevices is the list of block devices to be used by the container.
|
||||
// This is a beta feature.
|
||||
// +patchMergeKey=devicePath
|
||||
// +patchStrategy=merge
|
||||
// +optional
|
||||
@ -1347,6 +1373,37 @@ message EphemeralContainers {
|
||||
repeated EphemeralContainer ephemeralContainers = 2;
|
||||
}
|
||||
|
||||
// Represents an ephemeral volume that is handled by a normal storage driver.
|
||||
message EphemeralVolumeSource {
|
||||
// Will be used to create a stand-alone PVC to provision the volume.
|
||||
// The pod in which this EphemeralVolumeSource is embedded will be the
|
||||
// owner of the PVC, i.e. the PVC will be deleted together with the
|
||||
// pod. The name of the PVC will be `<pod name>-<volume name>` where
|
||||
// `<volume name>` is the name from the `PodSpec.Volumes` array
|
||||
// entry. Pod validation will reject the pod if the concatenated name
|
||||
// is not valid for a PVC (for example, too long).
|
||||
//
|
||||
// An existing PVC with that name that is not owned by the pod
|
||||
// will *not* be used for the pod to avoid using an unrelated
|
||||
// volume by mistake. Starting the pod is then blocked until
|
||||
// the unrelated PVC is removed. If such a pre-created PVC is
|
||||
// meant to be used by the pod, the PVC has to updated with an
|
||||
// owner reference to the pod once the pod exists. Normally
|
||||
// this should not be necessary, but it may be useful when
|
||||
// manually reconstructing a broken cluster.
|
||||
//
|
||||
// This field is read-only and no changes will be made by Kubernetes
|
||||
// to the PVC after it has been created.
|
||||
//
|
||||
// Required, must not be nil.
|
||||
optional PersistentVolumeClaimTemplate volumeClaimTemplate = 1;
|
||||
|
||||
// Specifies a read-only configuration for the volume.
|
||||
// Defaults to false (read/write).
|
||||
// +optional
|
||||
optional bool readOnly = 2;
|
||||
}
|
||||
|
||||
// Event is a report of an event somewhere in the cluster.
|
||||
message Event {
|
||||
// Standard object's metadata.
|
||||
@ -1431,10 +1488,6 @@ message EventSeries {
|
||||
|
||||
// Time of the last occurrence observed
|
||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.MicroTime lastObservedTime = 2;
|
||||
|
||||
// State of this Series: Ongoing or Finished
|
||||
// Deprecated. Planned removal for 1.18
|
||||
optional string state = 3;
|
||||
}
|
||||
|
||||
// EventSource contains information for an event.
|
||||
@ -1864,8 +1917,10 @@ message KeyToPath {
|
||||
// May not start with the string '..'.
|
||||
optional string path = 2;
|
||||
|
||||
// Optional: mode bits to use on this file, must be a value between 0
|
||||
// and 0777. If not specified, the volume defaultMode will be used.
|
||||
// Optional: mode bits used to set permissions on this file.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// If not specified, the volume defaultMode will be used.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
// +optional
|
||||
@ -1913,7 +1968,6 @@ message LimitRange {
|
||||
// LimitRangeItem defines a min/max usage limit for any resource that matches on kind.
|
||||
message LimitRangeItem {
|
||||
// Type of resource that this limit applies to.
|
||||
// +optional
|
||||
optional string type = 1;
|
||||
|
||||
// Max usage constraints on this kind by resource name.
|
||||
@ -2262,7 +2316,7 @@ message NodeProxyOptions {
|
||||
}
|
||||
|
||||
// NodeResources is an object for conveying resource information about a node.
|
||||
// see http://releases.k8s.io/HEAD/docs/design/resources.md for more details.
|
||||
// see https://kubernetes.io/docs/concepts/architecture/nodes/#capacity for more details.
|
||||
message NodeResources {
|
||||
// Capacity represents the available resources of a node
|
||||
map<string, k8s.io.apimachinery.pkg.api.resource.Quantity> capacity = 1;
|
||||
@ -2416,7 +2470,7 @@ message NodeSystemInfo {
|
||||
|
||||
// SystemUUID reported by the node. For unique machine identification
|
||||
// MachineID is preferred. This field is specific to Red Hat hosts
|
||||
// https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/getting-system-uuid.html
|
||||
// https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
|
||||
optional string systemUUID = 2;
|
||||
|
||||
// Boot ID reported by the node.
|
||||
@ -2455,6 +2509,20 @@ message ObjectFieldSelector {
|
||||
}
|
||||
|
||||
// ObjectReference contains enough information to let you inspect or modify the referred object.
|
||||
// ---
|
||||
// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
|
||||
// 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
|
||||
// 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
|
||||
// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
|
||||
// Those cannot be well described when embedded.
|
||||
// 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
|
||||
// 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
|
||||
// during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
|
||||
// and the version of the actual struct is irrelevant.
|
||||
// 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
|
||||
// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
|
||||
// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
|
||||
// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
message ObjectReference {
|
||||
// Kind of the referent.
|
||||
@ -2605,15 +2673,18 @@ message PersistentVolumeClaimSpec {
|
||||
|
||||
// volumeMode defines what type of volume is required by the claim.
|
||||
// Value of Filesystem is implied when not included in claim spec.
|
||||
// This is a beta feature.
|
||||
// +optional
|
||||
optional string volumeMode = 6;
|
||||
|
||||
// This field requires the VolumeSnapshotDataSource alpha feature gate to be
|
||||
// enabled and currently VolumeSnapshot is the only supported data source.
|
||||
// If the provisioner can support VolumeSnapshot data source, it will create
|
||||
// a new volume and data will be restored to the volume at the same time.
|
||||
// If the provisioner does not support VolumeSnapshot data source, volume will
|
||||
// This field can be used to specify either:
|
||||
// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot - Beta)
|
||||
// * An existing PVC (PersistentVolumeClaim)
|
||||
// * An existing custom resource/object that implements data population (Alpha)
|
||||
// In order to use VolumeSnapshot object types, the appropriate feature gate
|
||||
// must be enabled (VolumeSnapshotDataSource or AnyVolumeDataSource)
|
||||
// If the provisioner or an external controller can support the specified data source,
|
||||
// it will create a new volume based on the contents of the specified data source.
|
||||
// If the specified data source is not supported, the volume will
|
||||
// not be created and the failure will be reported as an event.
|
||||
// In the future, we plan to support more data source types and the behavior
|
||||
// of the provisioner may change.
|
||||
@ -2644,6 +2715,23 @@ message PersistentVolumeClaimStatus {
|
||||
repeated PersistentVolumeClaimCondition conditions = 4;
|
||||
}
|
||||
|
||||
// PersistentVolumeClaimTemplate is used to produce
|
||||
// PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
|
||||
message PersistentVolumeClaimTemplate {
|
||||
// May contain labels and annotations that will be copied into the PVC
|
||||
// when creating it. No other fields are allowed and will be rejected during
|
||||
// validation.
|
||||
//
|
||||
// +optional
|
||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||
|
||||
// The specification for the PersistentVolumeClaim. The entire content is
|
||||
// copied unchanged into the PVC that gets created from this
|
||||
// template. The same fields as in a PersistentVolumeClaim
|
||||
// are also valid here.
|
||||
optional PersistentVolumeClaimSpec spec = 2;
|
||||
}
|
||||
|
||||
// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.
|
||||
// This volume finds the bound PV and mounts that volume for the pod. A
|
||||
// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another
|
||||
@ -2821,7 +2909,6 @@ message PersistentVolumeSpec {
|
||||
|
||||
// volumeMode defines if a volume is intended to be used with a formatted filesystem
|
||||
// or to remain in raw block state. Value of Filesystem is implied when not included in spec.
|
||||
// This is a beta feature.
|
||||
// +optional
|
||||
optional string volumeMode = 8;
|
||||
|
||||
@ -3145,6 +3232,15 @@ message PodLogOptions {
|
||||
// slightly more or slightly less than the specified limit.
|
||||
// +optional
|
||||
optional int64 limitBytes = 8;
|
||||
|
||||
// insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the
|
||||
// serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver
|
||||
// and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real
|
||||
// kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the
|
||||
// connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept
|
||||
// the actual log data coming from the real kubelet).
|
||||
// +optional
|
||||
optional bool insecureSkipTLSVerifyBackend = 9;
|
||||
}
|
||||
|
||||
// PodPortForwardOptions is the query options to a Pod's port forward call
|
||||
@ -3238,6 +3334,19 @@ message PodSecurityContext {
|
||||
// sysctls (by the container runtime) might fail to launch.
|
||||
// +optional
|
||||
repeated Sysctl sysctls = 7;
|
||||
|
||||
// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
|
||||
// before being exposed inside Pod. This field will only apply to
|
||||
// volume types which support fsGroup based ownership(and permissions).
|
||||
// It will have no effect on ephemeral volume types such as: secret, configmaps
|
||||
// and emptydir.
|
||||
// Valid values are "OnRootMismatch" and "Always". If not specified defaults to "Always".
|
||||
// +optional
|
||||
optional string fsGroupChangePolicy = 9;
|
||||
|
||||
// The seccomp options to use by the containers in this pod.
|
||||
// +optional
|
||||
optional SeccompProfile seccompProfile = 10;
|
||||
}
|
||||
|
||||
// Describes the class of pods that should avoid this node.
|
||||
@ -3375,7 +3484,6 @@ message PodSpec {
|
||||
// in the same pod, and the first process in each container will not be assigned PID 1.
|
||||
// HostPID and ShareProcessNamespace cannot both be set.
|
||||
// Optional: Default to false.
|
||||
// This field is beta-level and may be disabled with the PodShareProcessNamespace feature.
|
||||
// +k8s:conversion-gen=false
|
||||
// +optional
|
||||
optional bool shareProcessNamespace = 27;
|
||||
@ -3472,7 +3580,7 @@ message PodSpec {
|
||||
// PreemptionPolicy is the Policy for preempting pods with lower priority.
|
||||
// One of Never, PreemptLowerPriority.
|
||||
// Defaults to PreemptLowerPriority if unset.
|
||||
// This field is alpha-level and is only honored by servers that enable the NonPreemptingPriority feature.
|
||||
// This field is beta-level, gated by the NonPreemptingPriority feature-gate.
|
||||
// +optional
|
||||
optional string preemptionPolicy = 31;
|
||||
|
||||
@ -3489,8 +3597,6 @@ message PodSpec {
|
||||
|
||||
// TopologySpreadConstraints describes how a group of pods ought to spread across topology
|
||||
// domains. Scheduler will schedule pods in a way which abides by the constraints.
|
||||
// This field is alpha-level and is only honored by clusters that enables the EvenPodsSpread
|
||||
// feature.
|
||||
// All topologySpreadConstraints are ANDed.
|
||||
// +optional
|
||||
// +patchMergeKey=topologyKey
|
||||
@ -3499,6 +3605,14 @@ message PodSpec {
|
||||
// +listMapKey=topologyKey
|
||||
// +listMapKey=whenUnsatisfiable
|
||||
repeated TopologySpreadConstraint topologySpreadConstraints = 33;
|
||||
|
||||
// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
|
||||
// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
|
||||
// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
|
||||
// If a pod does not have FQDN, this has no effect.
|
||||
// Default to false.
|
||||
// +optional
|
||||
optional bool setHostnameAsFQDN = 35;
|
||||
}
|
||||
|
||||
// PodStatus represents information about the status of a pod. Status may trail the actual
|
||||
@ -3741,8 +3855,9 @@ message ProjectedVolumeSource {
|
||||
// list of volume projections
|
||||
repeated VolumeProjection sources = 1;
|
||||
|
||||
// Mode bits to use on created files by default. Must be a value between
|
||||
// 0 and 0777.
|
||||
// Mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -4240,6 +4355,27 @@ message ScopedResourceSelectorRequirement {
|
||||
repeated string values = 3;
|
||||
}
|
||||
|
||||
// SeccompProfile defines a pod/container's seccomp profile settings.
|
||||
// Only one profile source may be set.
|
||||
// +union
|
||||
message SeccompProfile {
|
||||
// type indicates which kind of seccomp profile will be applied.
|
||||
// Valid options are:
|
||||
//
|
||||
// Localhost - a profile defined in a file on the node should be used.
|
||||
// RuntimeDefault - the container runtime default profile should be used.
|
||||
// Unconfined - no profile should be applied.
|
||||
// +unionDiscriminator
|
||||
optional string type = 1;
|
||||
|
||||
// localhostProfile indicates a profile defined in a file on the node should be used.
|
||||
// The profile must be preconfigured on the node to work.
|
||||
// Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
||||
// Must only be set if type is "Localhost".
|
||||
// +optional
|
||||
optional string localhostProfile = 2;
|
||||
}
|
||||
|
||||
// Secret holds secret data of a certain type. The total bytes of the values in
|
||||
// the Data field must be less than MaxSecretSize bytes.
|
||||
message Secret {
|
||||
@ -4248,6 +4384,14 @@ message Secret {
|
||||
// +optional
|
||||
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||
|
||||
// Immutable, if set to true, ensures that data stored in the Secret cannot
|
||||
// be updated (only object metadata can be modified).
|
||||
// If not set to true, the field can be modified at any time.
|
||||
// Defaulted to nil.
|
||||
// This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
|
||||
// +optional
|
||||
optional bool immutable = 5;
|
||||
|
||||
// Data contains the secret data. Each key must consist of alphanumeric
|
||||
// characters, '-', '_' or '.'. The serialized form of the secret data is a
|
||||
// base64 encoded string, representing the arbitrary (possibly non-string)
|
||||
@ -4364,8 +4508,10 @@ message SecretVolumeSource {
|
||||
// +optional
|
||||
repeated KeyToPath items = 2;
|
||||
|
||||
// Optional: mode bits to use on created files by default. Must be a
|
||||
// value between 0 and 0777. Defaults to 0644.
|
||||
// Optional: mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values
|
||||
// for mode bits. Defaults to 0644.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -4448,6 +4594,12 @@ message SecurityContext {
|
||||
// This requires the ProcMountType feature flag to be enabled.
|
||||
// +optional
|
||||
optional string procMount = 9;
|
||||
|
||||
// The seccomp options to use by this container. If seccomp options are
|
||||
// provided at both the pod & container level, the container options
|
||||
// override the pod options.
|
||||
// +optional
|
||||
optional SeccompProfile seccompProfile = 11;
|
||||
}
|
||||
|
||||
// SerializedReference is a reference to serialized object.
|
||||
@ -4573,6 +4725,17 @@ message ServicePort {
|
||||
// +optional
|
||||
optional string protocol = 2;
|
||||
|
||||
// The application protocol for this port.
|
||||
// This field follows standard Kubernetes label syntax.
|
||||
// Un-prefixed names are reserved for IANA standard service names (as per
|
||||
// RFC-6335 and http://www.iana.org/assignments/service-names).
|
||||
// Non-standard protocols should use prefixed names such as
|
||||
// mycompany.com/my-custom-protocol.
|
||||
// This is a beta field that is guarded by the ServiceAppProtocol feature
|
||||
// gate and enabled by default.
|
||||
// +optional
|
||||
optional string appProtocol = 6;
|
||||
|
||||
// The port that will be exposed by this service.
|
||||
optional int32 port = 3;
|
||||
|
||||
@ -4711,12 +4874,14 @@ message ServiceSpec {
|
||||
// +optional
|
||||
optional int32 healthCheckNodePort = 12;
|
||||
|
||||
// publishNotReadyAddresses, when set to true, indicates that DNS implementations
|
||||
// must publish the notReadyAddresses of subsets for the Endpoints associated with
|
||||
// the Service. The default value is false.
|
||||
// The primary use case for setting this field is to use a StatefulSet's Headless Service
|
||||
// to propagate SRV records for its Pods without respect to their readiness for purpose
|
||||
// of peer discovery.
|
||||
// publishNotReadyAddresses indicates that any agent which deals with endpoints for this
|
||||
// Service should disregard any indications of ready/not-ready.
|
||||
// The primary use case for setting this field is for a StatefulSet's Headless Service to
|
||||
// propagate SRV DNS records for its Pods for the purpose of peer discovery.
|
||||
// The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
|
||||
// Services interpret this to mean that all endpoints are considered "ready" even if the
|
||||
// Pods themselves are not. Agents which consume only Kubernetes generated endpoints
|
||||
// through the Endpoints or EndpointSlice resources can safely assume this behavior.
|
||||
// +optional
|
||||
optional bool publishNotReadyAddresses = 13;
|
||||
|
||||
@ -4724,15 +4889,38 @@ message ServiceSpec {
|
||||
// +optional
|
||||
optional SessionAffinityConfig sessionAffinityConfig = 14;
|
||||
|
||||
// ipFamily specifies whether this Service has a preference for a particular IP family (e.g. IPv4 vs.
|
||||
// IPv6). If a specific IP family is requested, the clusterIP field will be allocated from that family, if it is
|
||||
// available in the cluster. If no IP family is requested, the cluster's primary IP family will be used.
|
||||
// Other IP fields (loadBalancerIP, loadBalancerSourceRanges, externalIPs) and controllers which
|
||||
// allocate external load-balancers should use the same IP family. Endpoints for this Service will be of
|
||||
// this family. This field is immutable after creation. Assigning a ServiceIPFamily not available in the
|
||||
// cluster (e.g. IPv6 in IPv4 only cluster) is an error condition and will fail during clusterIP assignment.
|
||||
// ipFamily specifies whether this Service has a preference for a particular IP family (e.g.
|
||||
// IPv4 vs. IPv6) when the IPv6DualStack feature gate is enabled. In a dual-stack cluster,
|
||||
// you can specify ipFamily when creating a ClusterIP Service to determine whether the
|
||||
// controller will allocate an IPv4 or IPv6 IP for it, and you can specify ipFamily when
|
||||
// creating a headless Service to determine whether it will have IPv4 or IPv6 Endpoints. In
|
||||
// either case, if you do not specify an ipFamily explicitly, it will default to the
|
||||
// cluster's primary IP family.
|
||||
// This field is part of an alpha feature, and you should not make any assumptions about its
|
||||
// semantics other than those described above. In particular, you should not assume that it
|
||||
// can (or cannot) be changed after creation time; that it can only have the values "IPv4"
|
||||
// and "IPv6"; or that its current value on a given Service correctly reflects the current
|
||||
// state of that Service. (For ClusterIP Services, look at clusterIP to see if the Service
|
||||
// is IPv4 or IPv6. For headless Services, look at the endpoints, which may be dual-stack in
|
||||
// the future. For ExternalName Services, ipFamily has no meaning, but it may be set to an
|
||||
// irrelevant value anyway.)
|
||||
// +optional
|
||||
optional string ipFamily = 15;
|
||||
|
||||
// topologyKeys is a preference-order list of topology keys which
|
||||
// implementations of services should use to preferentially sort endpoints
|
||||
// when accessing this Service, it can not be used at the same time as
|
||||
// externalTrafficPolicy=Local.
|
||||
// Topology keys must be valid label keys and at most 16 keys may be specified.
|
||||
// Endpoints are chosen based on the first topology key with available backends.
|
||||
// If this field is specified and all entries have no backends that match
|
||||
// the topology of the client, the service has no backends for that client
|
||||
// and connections should fail.
|
||||
// The special value "*" may be used to mean "any topology". This catch-all
|
||||
// value, if used, only makes sense as the last value in the list.
|
||||
// If this is not specified or empty, no topology constraints will be applied.
|
||||
// +optional
|
||||
repeated string topologyKeys = 16;
|
||||
}
|
||||
|
||||
// ServiceStatus represents the current status of a service.
|
||||
@ -4841,7 +5029,7 @@ message Taint {
|
||||
// Required. The taint key to be applied to a node.
|
||||
optional string key = 1;
|
||||
|
||||
// Required. The taint value corresponding to the taint key.
|
||||
// The taint value corresponding to the taint key.
|
||||
// +optional
|
||||
optional string value = 2;
|
||||
|
||||
@ -4914,8 +5102,8 @@ message TopologySelectorTerm {
|
||||
// TopologySpreadConstraint specifies how to spread matching pods among the given topology.
|
||||
message TopologySpreadConstraint {
|
||||
// MaxSkew describes the degree to which pods may be unevenly distributed.
|
||||
// It's the maximum permitted difference between the number of matching pods in
|
||||
// any two topology domains of a given topology type.
|
||||
// When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
|
||||
// between the number of matching pods in the target topology and the global minimum.
|
||||
// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
|
||||
// labelSelector spread as 1/1/0:
|
||||
// +-------+-------+-------+
|
||||
@ -4927,6 +5115,8 @@ message TopologySpreadConstraint {
|
||||
// scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2)
|
||||
// violate MaxSkew(1).
|
||||
// - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
|
||||
// When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
|
||||
// to topologies that satisfy it.
|
||||
// It's a required field. Default value is 1 and 0 is not allowed.
|
||||
optional int32 maxSkew = 1;
|
||||
|
||||
@ -4939,10 +5129,13 @@ message TopologySpreadConstraint {
|
||||
|
||||
// WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
|
||||
// the spread constraint.
|
||||
// - DoNotSchedule (default) tells the scheduler not to schedule it
|
||||
// - ScheduleAnyway tells the scheduler to still schedule it
|
||||
// It's considered as "Unsatisfiable" if and only if placing incoming pod on any
|
||||
// topology violates "MaxSkew".
|
||||
// - DoNotSchedule (default) tells the scheduler not to schedule it.
|
||||
// - ScheduleAnyway tells the scheduler to schedule the pod in any location,
|
||||
// but giving higher precedence to topologies that would help reduce the
|
||||
// skew.
|
||||
// A constraint is considered "Unsatisfiable" for an incoming pod
|
||||
// if and only if every possible node assigment for that pod would violate
|
||||
// "MaxSkew" on some topology.
|
||||
// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
|
||||
// labelSelector spread as 3/1/1:
|
||||
// +-------+-------+-------+
|
||||
@ -5032,7 +5225,6 @@ message VolumeMount {
|
||||
// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
||||
// Defaults to "" (volume's root).
|
||||
// SubPathExpr and SubPath are mutually exclusive.
|
||||
// This field is beta in 1.15.
|
||||
// +optional
|
||||
optional string subPathExpr = 6;
|
||||
}
|
||||
@ -5196,9 +5388,37 @@ message VolumeSource {
|
||||
// +optional
|
||||
optional StorageOSVolumeSource storageos = 27;
|
||||
|
||||
// CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).
|
||||
// CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
|
||||
// +optional
|
||||
optional CSIVolumeSource csi = 28;
|
||||
|
||||
// Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature).
|
||||
// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
||||
// and deleted when the pod is removed.
|
||||
//
|
||||
// Use this if:
|
||||
// a) the volume is only needed while the pod runs,
|
||||
// b) features of normal volumes like restoring from snapshot or capacity
|
||||
// tracking are needed,
|
||||
// c) the storage driver is specified through a storage class, and
|
||||
// d) the storage driver supports dynamic volume provisioning through
|
||||
// a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
||||
// information on the connection between this volume type
|
||||
// and PersistentVolumeClaim).
|
||||
//
|
||||
// Use PersistentVolumeClaim or one of the vendor-specific
|
||||
// APIs for volumes that persist for longer than the lifecycle
|
||||
// of an individual pod.
|
||||
//
|
||||
// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
||||
// be used that way - see the documentation of the driver for
|
||||
// more information.
|
||||
//
|
||||
// A pod can use both types of ephemeral volumes and
|
||||
// persistent volumes at the same time.
|
||||
//
|
||||
// +optional
|
||||
optional EphemeralVolumeSource ephemeral = 29;
|
||||
}
|
||||
|
||||
// Represents a vSphere volume resource.
|
||||
@ -5234,14 +5454,12 @@ message WeightedPodAffinityTerm {
|
||||
// WindowsSecurityContextOptions contain Windows-specific options and credentials.
|
||||
message WindowsSecurityContextOptions {
|
||||
// GMSACredentialSpecName is the name of the GMSA credential spec to use.
|
||||
// This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.
|
||||
// +optional
|
||||
optional string gmsaCredentialSpecName = 1;
|
||||
|
||||
// GMSACredentialSpec is where the GMSA admission webhook
|
||||
// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
||||
// GMSA credential spec named by the GMSACredentialSpecName field.
|
||||
// This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.
|
||||
// +optional
|
||||
optional string gmsaCredentialSpec = 2;
|
||||
|
||||
@ -5249,7 +5467,6 @@ message WindowsSecurityContextOptions {
|
||||
// Defaults to the user specified in image metadata if unspecified.
|
||||
// May also be set in PodSecurityContext. If set in both SecurityContext and
|
||||
// PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||||
// This field is alpha-level and it is only honored by servers that enable the WindowsRunAsUserName feature flag.
|
||||
// +optional
|
||||
optional string runAsUserName = 3;
|
||||
}
|
||||
|
37
vendor/k8s.io/api/core/v1/lifecycle.go
generated
vendored
Normal file
37
vendor/k8s.io/api/core/v1/lifecycle.go
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
/*
|
||||
Copyright 2020 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.
|
||||
*/
|
||||
|
||||
package v1
|
||||
|
||||
// APILifecycleIntroduced returns the release in which the API struct was introduced as int versions of major and minor for comparison.
|
||||
func (in *ComponentStatus) APILifecycleIntroduced() (major, minor int) {
|
||||
return 1, 0
|
||||
}
|
||||
|
||||
// APILifecycleDeprecated returns the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
|
||||
func (in *ComponentStatus) APILifecycleDeprecated() (major, minor int) {
|
||||
return 1, 19
|
||||
}
|
||||
|
||||
// APILifecycleIntroduced returns the release in which the API struct was introduced as int versions of major and minor for comparison.
|
||||
func (in *ComponentStatusList) APILifecycleIntroduced() (major, minor int) {
|
||||
return 1, 0
|
||||
}
|
||||
|
||||
// APILifecycleDeprecated returns the release in which the API struct was or will be deprecated as int versions of major and minor for comparison.
|
||||
func (in *ComponentStatusList) APILifecycleDeprecated() (major, minor int) {
|
||||
return 1, 19
|
||||
}
|
8
vendor/k8s.io/api/core/v1/resource.go
generated
vendored
8
vendor/k8s.io/api/core/v1/resource.go
generated
vendored
@ -41,6 +41,14 @@ func (self *ResourceList) Memory() *resource.Quantity {
|
||||
return &resource.Quantity{Format: resource.BinarySI}
|
||||
}
|
||||
|
||||
// Returns the Storage limit if specified.
|
||||
func (self *ResourceList) Storage() *resource.Quantity {
|
||||
if val, ok := (*self)[ResourceStorage]; ok {
|
||||
return &val
|
||||
}
|
||||
return &resource.Quantity{Format: resource.BinarySI}
|
||||
}
|
||||
|
||||
func (self *ResourceList) Pods() *resource.Quantity {
|
||||
if val, ok := (*self)[ResourcePods]; ok {
|
||||
return &val
|
||||
|
402
vendor/k8s.io/api/core/v1/types.go
generated
vendored
402
vendor/k8s.io/api/core/v1/types.go
generated
vendored
@ -30,6 +30,8 @@ const (
|
||||
NamespaceAll string = ""
|
||||
// NamespaceNodeLease is the namespace where we place node lease objects (used for node heartbeats)
|
||||
NamespaceNodeLease string = "kube-node-lease"
|
||||
// TopologyKeyAny is the service topology key that matches any node
|
||||
TopologyKeyAny string = "*"
|
||||
)
|
||||
|
||||
// Volume represents a named volume in a pod that may be accessed by any container in the pod.
|
||||
@ -151,9 +153,36 @@ type VolumeSource struct {
|
||||
// StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
|
||||
// +optional
|
||||
StorageOS *StorageOSVolumeSource `json:"storageos,omitempty" protobuf:"bytes,27,opt,name=storageos"`
|
||||
// CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).
|
||||
// CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
|
||||
// +optional
|
||||
CSI *CSIVolumeSource `json:"csi,omitempty" protobuf:"bytes,28,opt,name=csi"`
|
||||
// Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature).
|
||||
// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
|
||||
// and deleted when the pod is removed.
|
||||
//
|
||||
// Use this if:
|
||||
// a) the volume is only needed while the pod runs,
|
||||
// b) features of normal volumes like restoring from snapshot or capacity
|
||||
// tracking are needed,
|
||||
// c) the storage driver is specified through a storage class, and
|
||||
// d) the storage driver supports dynamic volume provisioning through
|
||||
// a PersistentVolumeClaim (see EphemeralVolumeSource for more
|
||||
// information on the connection between this volume type
|
||||
// and PersistentVolumeClaim).
|
||||
//
|
||||
// Use PersistentVolumeClaim or one of the vendor-specific
|
||||
// APIs for volumes that persist for longer than the lifecycle
|
||||
// of an individual pod.
|
||||
//
|
||||
// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
|
||||
// be used that way - see the documentation of the driver for
|
||||
// more information.
|
||||
//
|
||||
// A pod can use both types of ephemeral volumes and
|
||||
// persistent volumes at the same time.
|
||||
//
|
||||
// +optional
|
||||
Ephemeral *EphemeralVolumeSource `json:"ephemeral,omitempty" protobuf:"bytes,29,opt,name=ephemeral"`
|
||||
}
|
||||
|
||||
// PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace.
|
||||
@ -329,7 +358,6 @@ type PersistentVolumeSpec struct {
|
||||
MountOptions []string `json:"mountOptions,omitempty" protobuf:"bytes,7,opt,name=mountOptions"`
|
||||
// volumeMode defines if a volume is intended to be used with a formatted filesystem
|
||||
// or to remain in raw block state. Value of Filesystem is implied when not included in spec.
|
||||
// This is a beta feature.
|
||||
// +optional
|
||||
VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,8,opt,name=volumeMode,casttype=PersistentVolumeMode"`
|
||||
// NodeAffinity defines constraints that limit what nodes this volume can be accessed from.
|
||||
@ -458,14 +486,17 @@ type PersistentVolumeClaimSpec struct {
|
||||
StorageClassName *string `json:"storageClassName,omitempty" protobuf:"bytes,5,opt,name=storageClassName"`
|
||||
// volumeMode defines what type of volume is required by the claim.
|
||||
// Value of Filesystem is implied when not included in claim spec.
|
||||
// This is a beta feature.
|
||||
// +optional
|
||||
VolumeMode *PersistentVolumeMode `json:"volumeMode,omitempty" protobuf:"bytes,6,opt,name=volumeMode,casttype=PersistentVolumeMode"`
|
||||
// This field requires the VolumeSnapshotDataSource alpha feature gate to be
|
||||
// enabled and currently VolumeSnapshot is the only supported data source.
|
||||
// If the provisioner can support VolumeSnapshot data source, it will create
|
||||
// a new volume and data will be restored to the volume at the same time.
|
||||
// If the provisioner does not support VolumeSnapshot data source, volume will
|
||||
// This field can be used to specify either:
|
||||
// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot - Beta)
|
||||
// * An existing PVC (PersistentVolumeClaim)
|
||||
// * An existing custom resource/object that implements data population (Alpha)
|
||||
// In order to use VolumeSnapshot object types, the appropriate feature gate
|
||||
// must be enabled (VolumeSnapshotDataSource or AnyVolumeDataSource)
|
||||
// If the provisioner or an external controller can support the specified data source,
|
||||
// it will create a new volume based on the contents of the specified data source.
|
||||
// If the specified data source is not supported, the volume will
|
||||
// not be created and the failure will be reported as an event.
|
||||
// In the future, we plan to support more data source types and the behavior
|
||||
// of the provisioner may change.
|
||||
@ -885,9 +916,10 @@ type FlockerVolumeSource struct {
|
||||
type StorageMedium string
|
||||
|
||||
const (
|
||||
StorageMediumDefault StorageMedium = "" // use whatever the default is for the node, assume anything we don't explicitly handle is this
|
||||
StorageMediumMemory StorageMedium = "Memory" // use memory (e.g. tmpfs on linux)
|
||||
StorageMediumHugePages StorageMedium = "HugePages" // use hugepages
|
||||
StorageMediumDefault StorageMedium = "" // use whatever the default is for the node, assume anything we don't explicitly handle is this
|
||||
StorageMediumMemory StorageMedium = "Memory" // use memory (e.g. tmpfs on linux)
|
||||
StorageMediumHugePages StorageMedium = "HugePages" // use hugepages
|
||||
StorageMediumHugePagesPrefix StorageMedium = "HugePages-" // prefix for full medium notation HugePages-<size>
|
||||
)
|
||||
|
||||
// Protocol defines network protocols supported for things like container ports.
|
||||
@ -1087,8 +1119,10 @@ type SecretVolumeSource struct {
|
||||
// relative and may not contain the '..' path or start with '..'.
|
||||
// +optional
|
||||
Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
|
||||
// Optional: mode bits to use on created files by default. Must be a
|
||||
// value between 0 and 0777. Defaults to 0644.
|
||||
// Optional: mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values
|
||||
// for mode bits. Defaults to 0644.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -1513,8 +1547,10 @@ type ConfigMapVolumeSource struct {
|
||||
// relative and may not contain the '..' path or start with '..'.
|
||||
// +optional
|
||||
Items []KeyToPath `json:"items,omitempty" protobuf:"bytes,2,rep,name=items"`
|
||||
// Optional: mode bits to use on created files by default. Must be a
|
||||
// value between 0 and 0777. Defaults to 0644.
|
||||
// Optional: mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// Defaults to 0644.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -1580,8 +1616,9 @@ type ServiceAccountTokenProjection struct {
|
||||
type ProjectedVolumeSource struct {
|
||||
// list of volume projections
|
||||
Sources []VolumeProjection `json:"sources" protobuf:"bytes,1,rep,name=sources"`
|
||||
// Mode bits to use on created files by default. Must be a value between
|
||||
// 0 and 0777.
|
||||
// Mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -1621,8 +1658,10 @@ type KeyToPath struct {
|
||||
// May not contain the path element '..'.
|
||||
// May not start with the string '..'.
|
||||
Path string `json:"path" protobuf:"bytes,2,opt,name=path"`
|
||||
// Optional: mode bits to use on this file, must be a value between 0
|
||||
// and 0777. If not specified, the volume defaultMode will be used.
|
||||
// Optional: mode bits used to set permissions on this file.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// If not specified, the volume defaultMode will be used.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
// +optional
|
||||
@ -1734,6 +1773,54 @@ type CSIVolumeSource struct {
|
||||
NodePublishSecretRef *LocalObjectReference `json:"nodePublishSecretRef,omitempty" protobuf:"bytes,5,opt,name=nodePublishSecretRef"`
|
||||
}
|
||||
|
||||
// Represents an ephemeral volume that is handled by a normal storage driver.
|
||||
type EphemeralVolumeSource struct {
|
||||
// Will be used to create a stand-alone PVC to provision the volume.
|
||||
// The pod in which this EphemeralVolumeSource is embedded will be the
|
||||
// owner of the PVC, i.e. the PVC will be deleted together with the
|
||||
// pod. The name of the PVC will be `<pod name>-<volume name>` where
|
||||
// `<volume name>` is the name from the `PodSpec.Volumes` array
|
||||
// entry. Pod validation will reject the pod if the concatenated name
|
||||
// is not valid for a PVC (for example, too long).
|
||||
//
|
||||
// An existing PVC with that name that is not owned by the pod
|
||||
// will *not* be used for the pod to avoid using an unrelated
|
||||
// volume by mistake. Starting the pod is then blocked until
|
||||
// the unrelated PVC is removed. If such a pre-created PVC is
|
||||
// meant to be used by the pod, the PVC has to updated with an
|
||||
// owner reference to the pod once the pod exists. Normally
|
||||
// this should not be necessary, but it may be useful when
|
||||
// manually reconstructing a broken cluster.
|
||||
//
|
||||
// This field is read-only and no changes will be made by Kubernetes
|
||||
// to the PVC after it has been created.
|
||||
//
|
||||
// Required, must not be nil.
|
||||
VolumeClaimTemplate *PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty" protobuf:"bytes,1,opt,name=volumeClaimTemplate"`
|
||||
|
||||
// Specifies a read-only configuration for the volume.
|
||||
// Defaults to false (read/write).
|
||||
// +optional
|
||||
ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,2,opt,name=readOnly"`
|
||||
}
|
||||
|
||||
// PersistentVolumeClaimTemplate is used to produce
|
||||
// PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
|
||||
type PersistentVolumeClaimTemplate struct {
|
||||
// May contain labels and annotations that will be copied into the PVC
|
||||
// when creating it. No other fields are allowed and will be rejected during
|
||||
// validation.
|
||||
//
|
||||
// +optional
|
||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||
|
||||
// The specification for the PersistentVolumeClaim. The entire content is
|
||||
// copied unchanged into the PVC that gets created from this
|
||||
// template. The same fields as in a PersistentVolumeClaim
|
||||
// are also valid here.
|
||||
Spec PersistentVolumeClaimSpec `json:"spec" protobuf:"bytes,2,name=spec"`
|
||||
}
|
||||
|
||||
// ContainerPort represents a network port in a single container.
|
||||
type ContainerPort struct {
|
||||
// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
|
||||
@ -1784,7 +1871,6 @@ type VolumeMount struct {
|
||||
// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
|
||||
// Defaults to "" (volume's root).
|
||||
// SubPathExpr and SubPath are mutually exclusive.
|
||||
// This field is beta in 1.15.
|
||||
// +optional
|
||||
SubPathExpr string `json:"subPathExpr,omitempty" protobuf:"bytes,6,opt,name=subPathExpr"`
|
||||
}
|
||||
@ -1846,8 +1932,8 @@ type EnvVar struct {
|
||||
|
||||
// EnvVarSource represents a source for the value of an EnvVar.
|
||||
type EnvVarSource struct {
|
||||
// Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations,
|
||||
// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP.
|
||||
// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
|
||||
// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
|
||||
// +optional
|
||||
FieldRef *ObjectFieldSelector `json:"fieldRef,omitempty" protobuf:"bytes,1,opt,name=fieldRef"`
|
||||
// Selects a resource of the container: only resources limits and requests
|
||||
@ -2179,7 +2265,6 @@ type Container struct {
|
||||
// +patchStrategy=merge
|
||||
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.
|
||||
// This is a beta feature.
|
||||
// +patchMergeKey=devicePath
|
||||
// +patchStrategy=merge
|
||||
// +optional
|
||||
@ -2202,7 +2287,7 @@ type Container struct {
|
||||
// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
|
||||
// when it might take a long time to load data or warm a cache, than during steady-state operation.
|
||||
// This cannot be updated.
|
||||
// This is an alpha feature enabled by the StartupProbe feature flag.
|
||||
// This is a beta feature enabled by the StartupProbe feature flag.
|
||||
// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
|
||||
// +optional
|
||||
StartupProbe *Probe `json:"startupProbe,omitempty" protobuf:"bytes,22,opt,name=startupProbe"`
|
||||
@ -2749,7 +2834,7 @@ type PreferredSchedulingTerm struct {
|
||||
type Taint struct {
|
||||
// Required. The taint key to be applied to a node.
|
||||
Key string `json:"key" protobuf:"bytes,1,opt,name=key"`
|
||||
// Required. The taint value corresponding to the taint key.
|
||||
// The taint value corresponding to the taint key.
|
||||
// +optional
|
||||
Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"`
|
||||
// Required. The effect of the taint on pods
|
||||
@ -2941,7 +3026,6 @@ type PodSpec struct {
|
||||
// in the same pod, and the first process in each container will not be assigned PID 1.
|
||||
// HostPID and ShareProcessNamespace cannot both be set.
|
||||
// Optional: Default to false.
|
||||
// This field is beta-level and may be disabled with the PodShareProcessNamespace feature.
|
||||
// +k8s:conversion-gen=false
|
||||
// +optional
|
||||
ShareProcessNamespace *bool `json:"shareProcessNamespace,omitempty" protobuf:"varint,27,opt,name=shareProcessNamespace"`
|
||||
@ -3023,7 +3107,7 @@ type PodSpec struct {
|
||||
// PreemptionPolicy is the Policy for preempting pods with lower priority.
|
||||
// One of Never, PreemptLowerPriority.
|
||||
// Defaults to PreemptLowerPriority if unset.
|
||||
// This field is alpha-level and is only honored by servers that enable the NonPreemptingPriority feature.
|
||||
// This field is beta-level, gated by the NonPreemptingPriority feature-gate.
|
||||
// +optional
|
||||
PreemptionPolicy *PreemptionPolicy `json:"preemptionPolicy,omitempty" protobuf:"bytes,31,opt,name=preemptionPolicy"`
|
||||
// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
|
||||
@ -3038,8 +3122,6 @@ type PodSpec struct {
|
||||
Overhead ResourceList `json:"overhead,omitempty" protobuf:"bytes,32,opt,name=overhead"`
|
||||
// TopologySpreadConstraints describes how a group of pods ought to spread across topology
|
||||
// domains. Scheduler will schedule pods in a way which abides by the constraints.
|
||||
// This field is alpha-level and is only honored by clusters that enables the EvenPodsSpread
|
||||
// feature.
|
||||
// All topologySpreadConstraints are ANDed.
|
||||
// +optional
|
||||
// +patchMergeKey=topologyKey
|
||||
@ -3048,6 +3130,13 @@ type PodSpec struct {
|
||||
// +listMapKey=topologyKey
|
||||
// +listMapKey=whenUnsatisfiable
|
||||
TopologySpreadConstraints []TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty" patchStrategy:"merge" patchMergeKey:"topologyKey" protobuf:"bytes,33,opt,name=topologySpreadConstraints"`
|
||||
// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
|
||||
// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
|
||||
// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
|
||||
// If a pod does not have FQDN, this has no effect.
|
||||
// Default to false.
|
||||
// +optional
|
||||
SetHostnameAsFQDN *bool `json:"setHostnameAsFQDN,omitempty" protobuf:"varint,35,opt,name=setHostnameAsFQDN"`
|
||||
}
|
||||
|
||||
type UnsatisfiableConstraintAction string
|
||||
@ -3064,8 +3153,8 @@ const (
|
||||
// TopologySpreadConstraint specifies how to spread matching pods among the given topology.
|
||||
type TopologySpreadConstraint struct {
|
||||
// MaxSkew describes the degree to which pods may be unevenly distributed.
|
||||
// It's the maximum permitted difference between the number of matching pods in
|
||||
// any two topology domains of a given topology type.
|
||||
// When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
|
||||
// between the number of matching pods in the target topology and the global minimum.
|
||||
// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
|
||||
// labelSelector spread as 1/1/0:
|
||||
// +-------+-------+-------+
|
||||
@ -3077,6 +3166,8 @@ type TopologySpreadConstraint struct {
|
||||
// scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2)
|
||||
// violate MaxSkew(1).
|
||||
// - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
|
||||
// When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
|
||||
// to topologies that satisfy it.
|
||||
// It's a required field. Default value is 1 and 0 is not allowed.
|
||||
MaxSkew int32 `json:"maxSkew" protobuf:"varint,1,opt,name=maxSkew"`
|
||||
// TopologyKey is the key of node labels. Nodes that have a label with this key
|
||||
@ -3087,10 +3178,13 @@ type TopologySpreadConstraint struct {
|
||||
TopologyKey string `json:"topologyKey" protobuf:"bytes,2,opt,name=topologyKey"`
|
||||
// WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
|
||||
// the spread constraint.
|
||||
// - DoNotSchedule (default) tells the scheduler not to schedule it
|
||||
// - ScheduleAnyway tells the scheduler to still schedule it
|
||||
// It's considered as "Unsatisfiable" if and only if placing incoming pod on any
|
||||
// topology violates "MaxSkew".
|
||||
// - DoNotSchedule (default) tells the scheduler not to schedule it.
|
||||
// - ScheduleAnyway tells the scheduler to schedule the pod in any location,
|
||||
// but giving higher precedence to topologies that would help reduce the
|
||||
// skew.
|
||||
// A constraint is considered "Unsatisfiable" for an incoming pod
|
||||
// if and only if every possible node assigment for that pod would violate
|
||||
// "MaxSkew" on some topology.
|
||||
// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
|
||||
// labelSelector spread as 3/1/1:
|
||||
// +-------+-------+-------+
|
||||
@ -3125,6 +3219,22 @@ type HostAlias struct {
|
||||
Hostnames []string `json:"hostnames,omitempty" protobuf:"bytes,2,rep,name=hostnames"`
|
||||
}
|
||||
|
||||
// PodFSGroupChangePolicy holds policies that will be used for applying fsGroup to a volume
|
||||
// when volume is mounted.
|
||||
type PodFSGroupChangePolicy string
|
||||
|
||||
const (
|
||||
// FSGroupChangeOnRootMismatch indicates that volume's ownership and permissions will be changed
|
||||
// only when permission and ownership of root directory does not match with expected
|
||||
// permissions on the volume. This can help shorten the time it takes to change
|
||||
// ownership and permissions of a volume.
|
||||
FSGroupChangeOnRootMismatch PodFSGroupChangePolicy = "OnRootMismatch"
|
||||
// FSGroupChangeAlways indicates that volume's ownership and permissions
|
||||
// should always be changed whenever volume is mounted inside a Pod. This the default
|
||||
// behavior.
|
||||
FSGroupChangeAlways PodFSGroupChangePolicy = "Always"
|
||||
)
|
||||
|
||||
// PodSecurityContext holds pod-level security attributes and common container settings.
|
||||
// Some fields are also present in container.securityContext. Field values of
|
||||
// container.securityContext take precedence over field values of PodSecurityContext.
|
||||
@ -3183,8 +3293,53 @@ type PodSecurityContext struct {
|
||||
// sysctls (by the container runtime) might fail to launch.
|
||||
// +optional
|
||||
Sysctls []Sysctl `json:"sysctls,omitempty" protobuf:"bytes,7,rep,name=sysctls"`
|
||||
// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
|
||||
// before being exposed inside Pod. This field will only apply to
|
||||
// volume types which support fsGroup based ownership(and permissions).
|
||||
// It will have no effect on ephemeral volume types such as: secret, configmaps
|
||||
// and emptydir.
|
||||
// Valid values are "OnRootMismatch" and "Always". If not specified defaults to "Always".
|
||||
// +optional
|
||||
FSGroupChangePolicy *PodFSGroupChangePolicy `json:"fsGroupChangePolicy,omitempty" protobuf:"bytes,9,opt,name=fsGroupChangePolicy"`
|
||||
// The seccomp options to use by the containers in this pod.
|
||||
// +optional
|
||||
SeccompProfile *SeccompProfile `json:"seccompProfile,omitempty" protobuf:"bytes,10,opt,name=seccompProfile"`
|
||||
}
|
||||
|
||||
// SeccompProfile defines a pod/container's seccomp profile settings.
|
||||
// Only one profile source may be set.
|
||||
// +union
|
||||
type SeccompProfile struct {
|
||||
// type indicates which kind of seccomp profile will be applied.
|
||||
// Valid options are:
|
||||
//
|
||||
// Localhost - a profile defined in a file on the node should be used.
|
||||
// RuntimeDefault - the container runtime default profile should be used.
|
||||
// Unconfined - no profile should be applied.
|
||||
// +unionDiscriminator
|
||||
Type SeccompProfileType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=SeccompProfileType"`
|
||||
// localhostProfile indicates a profile defined in a file on the node should be used.
|
||||
// The profile must be preconfigured on the node to work.
|
||||
// Must be a descending path, relative to the kubelet's configured seccomp profile location.
|
||||
// Must only be set if type is "Localhost".
|
||||
// +optional
|
||||
LocalhostProfile *string `json:"localhostProfile,omitempty" protobuf:"bytes,2,opt,name=localhostProfile"`
|
||||
}
|
||||
|
||||
// SeccompProfileType defines the supported seccomp profile types.
|
||||
type SeccompProfileType string
|
||||
|
||||
const (
|
||||
// SeccompProfileTypeUnconfined indicates no seccomp profile is applied (A.K.A. unconfined).
|
||||
SeccompProfileTypeUnconfined SeccompProfileType = "Unconfined"
|
||||
// SeccompProfileTypeRuntimeDefault represents the default container runtime seccomp profile.
|
||||
SeccompProfileTypeRuntimeDefault SeccompProfileType = "RuntimeDefault"
|
||||
// SeccompProfileTypeLocalhost indicates a profile defined in a file on the node should be used.
|
||||
// The file's location is based off the kubelet's deprecated flag --seccomp-profile-root.
|
||||
// Once the flag support is removed the location will be <kubelet-root-dir>/seccomp.
|
||||
SeccompProfileTypeLocalhost SeccompProfileType = "Localhost"
|
||||
)
|
||||
|
||||
// PodQOSClass defines the supported qos classes of Pods.
|
||||
type PodQOSClass string
|
||||
|
||||
@ -3298,7 +3453,6 @@ type EphemeralContainerCommon struct {
|
||||
// +patchStrategy=merge
|
||||
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.
|
||||
// This is a beta feature.
|
||||
// +patchMergeKey=devicePath
|
||||
// +patchStrategy=merge
|
||||
// +optional
|
||||
@ -3828,6 +3982,8 @@ const (
|
||||
IPv4Protocol IPFamily = "IPv4"
|
||||
// IPv6Protocol indicates that this IP is IPv6 protocol
|
||||
IPv6Protocol IPFamily = "IPv6"
|
||||
// MaxServiceTopologyKeys is the largest number of topology keys allowed on a service
|
||||
MaxServiceTopologyKeys = 16
|
||||
)
|
||||
|
||||
// ServiceSpec describes the attributes that a user creates on a service.
|
||||
@ -3934,27 +4090,53 @@ type ServiceSpec struct {
|
||||
// +optional
|
||||
HealthCheckNodePort int32 `json:"healthCheckNodePort,omitempty" protobuf:"bytes,12,opt,name=healthCheckNodePort"`
|
||||
|
||||
// publishNotReadyAddresses, when set to true, indicates that DNS implementations
|
||||
// must publish the notReadyAddresses of subsets for the Endpoints associated with
|
||||
// the Service. The default value is false.
|
||||
// The primary use case for setting this field is to use a StatefulSet's Headless Service
|
||||
// to propagate SRV records for its Pods without respect to their readiness for purpose
|
||||
// of peer discovery.
|
||||
// publishNotReadyAddresses indicates that any agent which deals with endpoints for this
|
||||
// Service should disregard any indications of ready/not-ready.
|
||||
// The primary use case for setting this field is for a StatefulSet's Headless Service to
|
||||
// propagate SRV DNS records for its Pods for the purpose of peer discovery.
|
||||
// The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
|
||||
// Services interpret this to mean that all endpoints are considered "ready" even if the
|
||||
// Pods themselves are not. Agents which consume only Kubernetes generated endpoints
|
||||
// through the Endpoints or EndpointSlice resources can safely assume this behavior.
|
||||
// +optional
|
||||
PublishNotReadyAddresses bool `json:"publishNotReadyAddresses,omitempty" protobuf:"varint,13,opt,name=publishNotReadyAddresses"`
|
||||
|
||||
// sessionAffinityConfig contains the configurations of session affinity.
|
||||
// +optional
|
||||
SessionAffinityConfig *SessionAffinityConfig `json:"sessionAffinityConfig,omitempty" protobuf:"bytes,14,opt,name=sessionAffinityConfig"`
|
||||
|
||||
// ipFamily specifies whether this Service has a preference for a particular IP family (e.g. IPv4 vs.
|
||||
// IPv6). If a specific IP family is requested, the clusterIP field will be allocated from that family, if it is
|
||||
// available in the cluster. If no IP family is requested, the cluster's primary IP family will be used.
|
||||
// Other IP fields (loadBalancerIP, loadBalancerSourceRanges, externalIPs) and controllers which
|
||||
// allocate external load-balancers should use the same IP family. Endpoints for this Service will be of
|
||||
// this family. This field is immutable after creation. Assigning a ServiceIPFamily not available in the
|
||||
// cluster (e.g. IPv6 in IPv4 only cluster) is an error condition and will fail during clusterIP assignment.
|
||||
// ipFamily specifies whether this Service has a preference for a particular IP family (e.g.
|
||||
// IPv4 vs. IPv6) when the IPv6DualStack feature gate is enabled. In a dual-stack cluster,
|
||||
// you can specify ipFamily when creating a ClusterIP Service to determine whether the
|
||||
// controller will allocate an IPv4 or IPv6 IP for it, and you can specify ipFamily when
|
||||
// creating a headless Service to determine whether it will have IPv4 or IPv6 Endpoints. In
|
||||
// either case, if you do not specify an ipFamily explicitly, it will default to the
|
||||
// cluster's primary IP family.
|
||||
// This field is part of an alpha feature, and you should not make any assumptions about its
|
||||
// semantics other than those described above. In particular, you should not assume that it
|
||||
// can (or cannot) be changed after creation time; that it can only have the values "IPv4"
|
||||
// and "IPv6"; or that its current value on a given Service correctly reflects the current
|
||||
// state of that Service. (For ClusterIP Services, look at clusterIP to see if the Service
|
||||
// is IPv4 or IPv6. For headless Services, look at the endpoints, which may be dual-stack in
|
||||
// the future. For ExternalName Services, ipFamily has no meaning, but it may be set to an
|
||||
// irrelevant value anyway.)
|
||||
// +optional
|
||||
IPFamily *IPFamily `json:"ipFamily,omitempty" protobuf:"bytes,15,opt,name=ipFamily,Configcasttype=IPFamily"`
|
||||
|
||||
// topologyKeys is a preference-order list of topology keys which
|
||||
// implementations of services should use to preferentially sort endpoints
|
||||
// when accessing this Service, it can not be used at the same time as
|
||||
// externalTrafficPolicy=Local.
|
||||
// Topology keys must be valid label keys and at most 16 keys may be specified.
|
||||
// Endpoints are chosen based on the first topology key with available backends.
|
||||
// If this field is specified and all entries have no backends that match
|
||||
// the topology of the client, the service has no backends for that client
|
||||
// and connections should fail.
|
||||
// The special value "*" may be used to mean "any topology". This catch-all
|
||||
// value, if used, only makes sense as the last value in the list.
|
||||
// If this is not specified or empty, no topology constraints will be applied.
|
||||
// +optional
|
||||
TopologyKeys []string `json:"topologyKeys,omitempty" protobuf:"bytes,16,opt,name=topologyKeys"`
|
||||
}
|
||||
|
||||
// ServicePort contains information on service's port.
|
||||
@ -3972,6 +4154,17 @@ type ServicePort struct {
|
||||
// +optional
|
||||
Protocol Protocol `json:"protocol,omitempty" protobuf:"bytes,2,opt,name=protocol,casttype=Protocol"`
|
||||
|
||||
// The application protocol for this port.
|
||||
// This field follows standard Kubernetes label syntax.
|
||||
// Un-prefixed names are reserved for IANA standard service names (as per
|
||||
// RFC-6335 and http://www.iana.org/assignments/service-names).
|
||||
// Non-standard protocols should use prefixed names such as
|
||||
// mycompany.com/my-custom-protocol.
|
||||
// This is a beta field that is guarded by the ServiceAppProtocol feature
|
||||
// gate and enabled by default.
|
||||
// +optional
|
||||
AppProtocol *string `json:"appProtocol,omitempty" protobuf:"bytes,6,opt,name=appProtocol"`
|
||||
|
||||
// The port that will be exposed by this service.
|
||||
Port int32 `json:"port" protobuf:"varint,3,opt,name=port"`
|
||||
|
||||
@ -4043,6 +4236,7 @@ type ServiceList struct {
|
||||
}
|
||||
|
||||
// +genclient
|
||||
// +genclient:method=CreateToken,verb=create,subresource=token,input=k8s.io/api/authentication/v1.TokenRequest,result=k8s.io/api/authentication/v1.TokenRequest
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// ServiceAccount binds together:
|
||||
@ -4186,6 +4380,17 @@ type EndpointPort struct {
|
||||
// Default is TCP.
|
||||
// +optional
|
||||
Protocol Protocol `json:"protocol,omitempty" protobuf:"bytes,3,opt,name=protocol,casttype=Protocol"`
|
||||
|
||||
// The application protocol for this port.
|
||||
// This field follows standard Kubernetes label syntax.
|
||||
// Un-prefixed names are reserved for IANA standard service names (as per
|
||||
// RFC-6335 and http://www.iana.org/assignments/service-names).
|
||||
// Non-standard protocols should use prefixed names such as
|
||||
// mycompany.com/my-custom-protocol.
|
||||
// This is a beta field that is guarded by the ServiceAppProtocol feature
|
||||
// gate and enabled by default.
|
||||
// +optional
|
||||
AppProtocol *string `json:"appProtocol,omitempty" protobuf:"bytes,4,opt,name=appProtocol"`
|
||||
}
|
||||
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
@ -4233,7 +4438,7 @@ type NodeSpec struct {
|
||||
// Deprecated. Not all kubelets will set this field. Remove field after 1.13.
|
||||
// see: https://issues.k8s.io/61966
|
||||
// +optional
|
||||
DoNotUse_ExternalID string `json:"externalID,omitempty" protobuf:"bytes,2,opt,name=externalID"`
|
||||
DoNotUseExternalID string `json:"externalID,omitempty" protobuf:"bytes,2,opt,name=externalID"`
|
||||
}
|
||||
|
||||
// NodeConfigSource specifies a source of node configuration. Exactly one subfield (excluding metadata) must be non-nil.
|
||||
@ -4305,7 +4510,7 @@ type NodeSystemInfo struct {
|
||||
MachineID string `json:"machineID" protobuf:"bytes,1,opt,name=machineID"`
|
||||
// SystemUUID reported by the node. For unique machine identification
|
||||
// MachineID is preferred. This field is specific to Red Hat hosts
|
||||
// https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/getting-system-uuid.html
|
||||
// https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
|
||||
SystemUUID string `json:"systemUUID" protobuf:"bytes,2,opt,name=systemUUID"`
|
||||
// Boot ID reported by the node.
|
||||
BootID string `json:"bootID" protobuf:"bytes,3,opt,name=bootID"`
|
||||
@ -4660,6 +4865,12 @@ const (
|
||||
NamespaceTerminating NamespacePhase = "Terminating"
|
||||
)
|
||||
|
||||
const (
|
||||
// NamespaceTerminatingCause is returned as a defaults.cause item when a change is
|
||||
// forbidden due to the namespace being terminated.
|
||||
NamespaceTerminatingCause metav1.CauseType = "NamespaceTerminating"
|
||||
)
|
||||
|
||||
type NamespaceConditionType string
|
||||
|
||||
// These are valid conditions of a namespace.
|
||||
@ -4670,6 +4881,10 @@ const (
|
||||
NamespaceDeletionContentFailure NamespaceConditionType = "NamespaceDeletionContentFailure"
|
||||
// NamespaceDeletionGVParsingFailure contains information about namespace deleter errors parsing GV for legacy types.
|
||||
NamespaceDeletionGVParsingFailure NamespaceConditionType = "NamespaceDeletionGroupVersionParsingFailure"
|
||||
// NamespaceContentRemaining contains information about resources remaining in a namespace.
|
||||
NamespaceContentRemaining NamespaceConditionType = "NamespaceContentRemaining"
|
||||
// NamespaceFinalizersRemaining contains information about which finalizers are on resources remaining in a namespace.
|
||||
NamespaceFinalizersRemaining NamespaceConditionType = "NamespaceFinalizersRemaining"
|
||||
)
|
||||
|
||||
// NamespaceCondition contains details about state of namespace.
|
||||
@ -4765,6 +4980,7 @@ type Preconditions struct {
|
||||
UID *types.UID `json:"uid,omitempty" protobuf:"bytes,1,opt,name=uid,casttype=k8s.io/apimachinery/pkg/types.UID"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// PodLogOptions is the query options for a Pod's logs REST call.
|
||||
@ -4805,8 +5021,18 @@ type PodLogOptions struct {
|
||||
// slightly more or slightly less than the specified limit.
|
||||
// +optional
|
||||
LimitBytes *int64 `json:"limitBytes,omitempty" protobuf:"varint,8,opt,name=limitBytes"`
|
||||
|
||||
// insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the
|
||||
// serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver
|
||||
// and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real
|
||||
// kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the
|
||||
// connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept
|
||||
// the actual log data coming from the real kubelet).
|
||||
// +optional
|
||||
InsecureSkipTLSVerifyBackend bool `json:"insecureSkipTLSVerifyBackend,omitempty" protobuf:"varint,9,opt,name=insecureSkipTLSVerifyBackend"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// PodAttachOptions is the query options to a Pod's remote attach call.
|
||||
@ -4844,6 +5070,7 @@ type PodAttachOptions struct {
|
||||
Container string `json:"container,omitempty" protobuf:"bytes,5,opt,name=container"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// PodExecOptions is the query options to a Pod's remote exec call.
|
||||
@ -4882,6 +5109,7 @@ type PodExecOptions struct {
|
||||
Command []string `json:"command" protobuf:"bytes,6,rep,name=command"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// PodPortForwardOptions is the query options to a Pod's port forward call
|
||||
@ -4899,6 +5127,7 @@ type PodPortForwardOptions struct {
|
||||
Ports []int32 `json:"ports,omitempty" protobuf:"varint,1,rep,name=ports"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// PodProxyOptions is the query options to a Pod's proxy call.
|
||||
@ -4910,6 +5139,7 @@ type PodProxyOptions struct {
|
||||
Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// NodeProxyOptions is the query options to a Node's proxy call.
|
||||
@ -4921,6 +5151,7 @@ type NodeProxyOptions struct {
|
||||
Path string `json:"path,omitempty" protobuf:"bytes,1,opt,name=path"`
|
||||
}
|
||||
|
||||
// +k8s:conversion-gen:explicit-from=net/url.Values
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// ServiceProxyOptions is the query options to a Service's proxy call.
|
||||
@ -4937,6 +5168,20 @@ type ServiceProxyOptions struct {
|
||||
}
|
||||
|
||||
// ObjectReference contains enough information to let you inspect or modify the referred object.
|
||||
// ---
|
||||
// New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
|
||||
// 1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
|
||||
// 2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
|
||||
// restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
|
||||
// Those cannot be well described when embedded.
|
||||
// 3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
|
||||
// 4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
|
||||
// during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
|
||||
// and the version of the actual struct is irrelevant.
|
||||
// 5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
|
||||
// will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
|
||||
// Instead of using this type, create a locally provided and used type that is well-focused on your reference.
|
||||
// For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
type ObjectReference struct {
|
||||
// Kind of the referent.
|
||||
@ -5103,19 +5348,10 @@ type EventSeries struct {
|
||||
Count int32 `json:"count,omitempty" protobuf:"varint,1,name=count"`
|
||||
// Time of the last occurrence observed
|
||||
LastObservedTime metav1.MicroTime `json:"lastObservedTime,omitempty" protobuf:"bytes,2,name=lastObservedTime"`
|
||||
// State of this Series: Ongoing or Finished
|
||||
// Deprecated. Planned removal for 1.18
|
||||
State EventSeriesState `json:"state,omitempty" protobuf:"bytes,3,name=state"`
|
||||
|
||||
// +k8s:deprecated=state,protobuf=3
|
||||
}
|
||||
|
||||
type EventSeriesState string
|
||||
|
||||
const (
|
||||
EventSeriesStateOngoing EventSeriesState = "Ongoing"
|
||||
EventSeriesStateFinished EventSeriesState = "Finished"
|
||||
EventSeriesStateUnknown EventSeriesState = "Unknown"
|
||||
)
|
||||
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// EventList is a list of events.
|
||||
@ -5150,8 +5386,7 @@ const (
|
||||
// LimitRangeItem defines a min/max usage limit for any resource that matches on kind.
|
||||
type LimitRangeItem struct {
|
||||
// Type of resource that this limit applies to.
|
||||
// +optional
|
||||
Type LimitType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=LimitType"`
|
||||
Type LimitType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=LimitType"`
|
||||
// Max usage constraints on this kind by resource name.
|
||||
// +optional
|
||||
Max ResourceList `json:"max,omitempty" protobuf:"bytes,2,rep,name=max,casttype=ResourceList,castkey=ResourceName"`
|
||||
@ -5380,6 +5615,14 @@ type Secret struct {
|
||||
// +optional
|
||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||
|
||||
// Immutable, if set to true, ensures that data stored in the Secret cannot
|
||||
// be updated (only object metadata can be modified).
|
||||
// If not set to true, the field can be modified at any time.
|
||||
// Defaulted to nil.
|
||||
// This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
|
||||
// +optional
|
||||
Immutable *bool `json:"immutable,omitempty" protobuf:"varint,5,opt,name=immutable"`
|
||||
|
||||
// Data contains the secret data. Each key must consist of alphanumeric
|
||||
// characters, '-', '_' or '.'. The serialized form of the secret data is a
|
||||
// base64 encoded string, representing the arbitrary (possibly non-string)
|
||||
@ -5513,6 +5756,14 @@ type ConfigMap struct {
|
||||
// +optional
|
||||
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
|
||||
|
||||
// Immutable, if set to true, ensures that data stored in the ConfigMap cannot
|
||||
// be updated (only object metadata can be modified).
|
||||
// If not set to true, the field can be modified at any time.
|
||||
// Defaulted to nil.
|
||||
// This is a beta field enabled by ImmutableEphemeralVolumes feature gate.
|
||||
// +optional
|
||||
Immutable *bool `json:"immutable,omitempty" protobuf:"varint,4,opt,name=immutable"`
|
||||
|
||||
// Data contains the configuration data.
|
||||
// Each key must consist of alphanumeric characters, '-', '_' or '.'.
|
||||
// Values with non-UTF-8 byte sequences must use the BinaryData field.
|
||||
@ -5577,6 +5828,7 @@ type ComponentCondition struct {
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// ComponentStatus (and ComponentStatusList) holds the cluster validation info.
|
||||
// Deprecated: This API is deprecated in v1.19+
|
||||
type ComponentStatus struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
// Standard object's metadata.
|
||||
@ -5594,6 +5846,7 @@ type ComponentStatus struct {
|
||||
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
|
||||
|
||||
// Status of all the conditions for the component as a list of ComponentStatus objects.
|
||||
// Deprecated: This API is deprecated in v1.19+
|
||||
type ComponentStatusList struct {
|
||||
metav1.TypeMeta `json:",inline"`
|
||||
// Standard list metadata.
|
||||
@ -5612,7 +5865,10 @@ type DownwardAPIVolumeSource struct {
|
||||
// +optional
|
||||
Items []DownwardAPIVolumeFile `json:"items,omitempty" protobuf:"bytes,1,rep,name=items"`
|
||||
// Optional: mode bits to use on created files by default. Must be a
|
||||
// value between 0 and 0777. Defaults to 0644.
|
||||
// Optional: mode bits used to set permissions on created files by default.
|
||||
// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// Defaults to 0644.
|
||||
// Directories within the path are not affected by this setting.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
@ -5635,8 +5891,10 @@ type DownwardAPIVolumeFile struct {
|
||||
// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
|
||||
// +optional
|
||||
ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty" protobuf:"bytes,3,opt,name=resourceFieldRef"`
|
||||
// Optional: mode bits to use on this file, must be a value between 0
|
||||
// and 0777. If not specified, the volume defaultMode will be used.
|
||||
// Optional: mode bits used to set permissions on this file, must be an octal value
|
||||
// between 0000 and 0777 or a decimal value between 0 and 511.
|
||||
// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
|
||||
// If not specified, the volume defaultMode will be used.
|
||||
// This might be in conflict with other options that affect the file
|
||||
// mode, like fsGroup, and the result can be other mode bits set.
|
||||
// +optional
|
||||
@ -5714,6 +5972,11 @@ type SecurityContext struct {
|
||||
// This requires the ProcMountType feature flag to be enabled.
|
||||
// +optional
|
||||
ProcMount *ProcMountType `json:"procMount,omitempty" protobuf:"bytes,9,opt,name=procMount"`
|
||||
// The seccomp options to use by this container. If seccomp options are
|
||||
// provided at both the pod & container level, the container options
|
||||
// override the pod options.
|
||||
// +optional
|
||||
SeccompProfile *SeccompProfile `json:"seccompProfile,omitempty" protobuf:"bytes,11,opt,name=seccompProfile"`
|
||||
}
|
||||
|
||||
type ProcMountType string
|
||||
@ -5749,14 +6012,12 @@ type SELinuxOptions struct {
|
||||
// WindowsSecurityContextOptions contain Windows-specific options and credentials.
|
||||
type WindowsSecurityContextOptions struct {
|
||||
// GMSACredentialSpecName is the name of the GMSA credential spec to use.
|
||||
// This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.
|
||||
// +optional
|
||||
GMSACredentialSpecName *string `json:"gmsaCredentialSpecName,omitempty" protobuf:"bytes,1,opt,name=gmsaCredentialSpecName"`
|
||||
|
||||
// GMSACredentialSpec is where the GMSA admission webhook
|
||||
// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
|
||||
// GMSA credential spec named by the GMSACredentialSpecName field.
|
||||
// This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.
|
||||
// +optional
|
||||
GMSACredentialSpec *string `json:"gmsaCredentialSpec,omitempty" protobuf:"bytes,2,opt,name=gmsaCredentialSpec"`
|
||||
|
||||
@ -5764,7 +6025,6 @@ type WindowsSecurityContextOptions struct {
|
||||
// Defaults to the user specified in image metadata if unspecified.
|
||||
// May also be set in PodSecurityContext. If set in both SecurityContext and
|
||||
// PodSecurityContext, the value specified in SecurityContext takes precedence.
|
||||
// This field is alpha-level and it is only honored by servers that enable the WindowsRunAsUserName feature flag.
|
||||
// +optional
|
||||
RunAsUserName *string `json:"runAsUserName,omitempty" protobuf:"bytes,3,opt,name=runAsUserName"`
|
||||
}
|
||||
@ -5805,7 +6065,7 @@ type Sysctl struct {
|
||||
}
|
||||
|
||||
// NodeResources is an object for conveying resource information about a node.
|
||||
// see http://releases.k8s.io/HEAD/docs/design/resources.md for more details.
|
||||
// see https://kubernetes.io/docs/concepts/architecture/nodes/#capacity for more details.
|
||||
type NodeResources struct {
|
||||
// Capacity represents the available resources of a node
|
||||
Capacity ResourceList `protobuf:"bytes,1,rep,name=capacity,casttype=ResourceList,castkey=ResourceName"`
|
||||
|
158
vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
generated
vendored
158
vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go
generated
vendored
@ -230,7 +230,7 @@ func (ComponentCondition) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_ComponentStatus = map[string]string{
|
||||
"": "ComponentStatus (and ComponentStatusList) holds the cluster validation info.",
|
||||
"": "ComponentStatus (and ComponentStatusList) holds the cluster validation info. Deprecated: This API is deprecated in v1.19+",
|
||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||
"conditions": "List of component conditions observed",
|
||||
}
|
||||
@ -240,7 +240,7 @@ func (ComponentStatus) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_ComponentStatusList = map[string]string{
|
||||
"": "Status of all the conditions for the component as a list of ComponentStatus objects.",
|
||||
"": "Status of all the conditions for the component as a list of ComponentStatus objects. Deprecated: This API is deprecated in v1.19+",
|
||||
"metadata": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
|
||||
"items": "List of ComponentStatus objects.",
|
||||
}
|
||||
@ -252,6 +252,7 @@ func (ComponentStatusList) SwaggerDoc() map[string]string {
|
||||
var map_ConfigMap = map[string]string{
|
||||
"": "ConfigMap holds configuration data for pods to consume.",
|
||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||
"immutable": "Immutable, if set to true, ensures that data stored in the ConfigMap cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. Defaulted to nil. This is a beta field enabled by ImmutableEphemeralVolumes feature gate.",
|
||||
"data": "Data contains the configuration data. Each key must consist of alphanumeric characters, '-', '_' or '.'. Values with non-UTF-8 byte sequences must use the BinaryData field. The keys stored in Data must not overlap with the keys in the BinaryData field, this is enforced during validation process.",
|
||||
"binaryData": "BinaryData contains the binary data. Each key must consist of alphanumeric characters, '-', '_' or '.'. BinaryData can contain byte sequences that are not in the UTF-8 range. The keys stored in BinaryData must not overlap with the ones in the Data field, this is enforced during validation process. Using this field will require 1.10+ apiserver and kubelet.",
|
||||
}
|
||||
@ -315,7 +316,7 @@ func (ConfigMapProjection) SwaggerDoc() map[string]string {
|
||||
var map_ConfigMapVolumeSource = map[string]string{
|
||||
"": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.",
|
||||
"items": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
|
||||
"defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"defaultMode": "Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"optional": "Specify whether the ConfigMap or its keys must be defined",
|
||||
}
|
||||
|
||||
@ -335,10 +336,10 @@ var map_Container = map[string]string{
|
||||
"env": "List of environment variables to set in the container. Cannot be updated.",
|
||||
"resources": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/",
|
||||
"volumeMounts": "Pod volumes to mount into the container's filesystem. Cannot be updated.",
|
||||
"volumeDevices": "volumeDevices is the list of block devices to be used by the container. This is a beta feature.",
|
||||
"volumeDevices": "volumeDevices is the list of block devices to be used by the container.",
|
||||
"livenessProbe": "Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
|
||||
"readinessProbe": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
|
||||
"startupProbe": "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is an alpha feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
|
||||
"startupProbe": "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is a beta feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
|
||||
"lifecycle": "Actions that the management system should take in response to container lifecycle events. Cannot be updated.",
|
||||
"terminationMessagePath": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.",
|
||||
"terminationMessagePolicy": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.",
|
||||
@ -461,7 +462,7 @@ var map_DownwardAPIVolumeFile = map[string]string{
|
||||
"path": "Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'",
|
||||
"fieldRef": "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.",
|
||||
"resourceFieldRef": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.",
|
||||
"mode": "Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"mode": "Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
}
|
||||
|
||||
func (DownwardAPIVolumeFile) SwaggerDoc() map[string]string {
|
||||
@ -471,7 +472,7 @@ func (DownwardAPIVolumeFile) SwaggerDoc() map[string]string {
|
||||
var map_DownwardAPIVolumeSource = map[string]string{
|
||||
"": "DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.",
|
||||
"items": "Items is a list of downward API volume file",
|
||||
"defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"defaultMode": "Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
}
|
||||
|
||||
func (DownwardAPIVolumeSource) SwaggerDoc() map[string]string {
|
||||
@ -501,10 +502,11 @@ func (EndpointAddress) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_EndpointPort = map[string]string{
|
||||
"": "EndpointPort is a tuple that describes a single port.",
|
||||
"name": "The name of this port. This must match the 'name' field in the corresponding ServicePort. Must be a DNS_LABEL. Optional only if one port is defined.",
|
||||
"port": "The port number of the endpoint.",
|
||||
"protocol": "The IP protocol for this port. Must be UDP, TCP, or SCTP. Default is TCP.",
|
||||
"": "EndpointPort is a tuple that describes a single port.",
|
||||
"name": "The name of this port. This must match the 'name' field in the corresponding ServicePort. Must be a DNS_LABEL. Optional only if one port is defined.",
|
||||
"port": "The port number of the endpoint.",
|
||||
"protocol": "The IP protocol for this port. Must be UDP, TCP, or SCTP. Default is TCP.",
|
||||
"appProtocol": "The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. This is a beta field that is guarded by the ServiceAppProtocol feature gate and enabled by default.",
|
||||
}
|
||||
|
||||
func (EndpointPort) SwaggerDoc() map[string]string {
|
||||
@ -566,7 +568,7 @@ func (EnvVar) SwaggerDoc() map[string]string {
|
||||
|
||||
var map_EnvVarSource = map[string]string{
|
||||
"": "EnvVarSource represents a source for the value of an EnvVar.",
|
||||
"fieldRef": "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP.",
|
||||
"fieldRef": "Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.",
|
||||
"resourceFieldRef": "Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
|
||||
"configMapKeyRef": "Selects a key of a ConfigMap.",
|
||||
"secretKeyRef": "Selects a key of a secret in the pod's namespace",
|
||||
@ -597,7 +599,7 @@ var map_EphemeralContainerCommon = map[string]string{
|
||||
"env": "List of environment variables to set in the container. Cannot be updated.",
|
||||
"resources": "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod.",
|
||||
"volumeMounts": "Pod volumes to mount into the container's filesystem. Cannot be updated.",
|
||||
"volumeDevices": "volumeDevices is the list of block devices to be used by the container. This is a beta feature.",
|
||||
"volumeDevices": "volumeDevices is the list of block devices to be used by the container.",
|
||||
"livenessProbe": "Probes are not allowed for ephemeral containers.",
|
||||
"readinessProbe": "Probes are not allowed for ephemeral containers.",
|
||||
"startupProbe": "Probes are not allowed for ephemeral containers.",
|
||||
@ -624,6 +626,16 @@ func (EphemeralContainers) SwaggerDoc() map[string]string {
|
||||
return map_EphemeralContainers
|
||||
}
|
||||
|
||||
var map_EphemeralVolumeSource = map[string]string{
|
||||
"": "Represents an ephemeral volume that is handled by a normal storage driver.",
|
||||
"volumeClaimTemplate": "Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `<pod name>-<volume name>` where `<volume name>` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long).\n\nAn existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster.\n\nThis field is read-only and no changes will be made by Kubernetes to the PVC after it has been created.\n\nRequired, must not be nil.",
|
||||
"readOnly": "Specifies a read-only configuration for the volume. Defaults to false (read/write).",
|
||||
}
|
||||
|
||||
func (EphemeralVolumeSource) SwaggerDoc() map[string]string {
|
||||
return map_EphemeralVolumeSource
|
||||
}
|
||||
|
||||
var map_Event = map[string]string{
|
||||
"": "Event is a report of an event somewhere in the cluster.",
|
||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||
@ -661,7 +673,6 @@ var map_EventSeries = map[string]string{
|
||||
"": "EventSeries contain information on series of events, i.e. thing that was/is happening continuously for some time.",
|
||||
"count": "Number of occurrences in this series up to the last heartbeat time",
|
||||
"lastObservedTime": "Time of the last occurrence observed",
|
||||
"state": "State of this Series: Ongoing or Finished Deprecated. Planned removal for 1.18",
|
||||
}
|
||||
|
||||
func (EventSeries) SwaggerDoc() map[string]string {
|
||||
@ -878,7 +889,7 @@ var map_KeyToPath = map[string]string{
|
||||
"": "Maps a string key to a path within a volume.",
|
||||
"key": "The key to project.",
|
||||
"path": "The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.",
|
||||
"mode": "Optional: mode bits to use on this file, must be a value between 0 and 0777. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"mode": "Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
}
|
||||
|
||||
func (KeyToPath) SwaggerDoc() map[string]string {
|
||||
@ -1132,7 +1143,7 @@ func (NodeProxyOptions) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_NodeResources = map[string]string{
|
||||
"": "NodeResources is an object for conveying resource information about a node. see http://releases.k8s.io/HEAD/docs/design/resources.md for more details.",
|
||||
"": "NodeResources is an object for conveying resource information about a node. see https://kubernetes.io/docs/concepts/architecture/nodes/#capacity for more details.",
|
||||
"Capacity": "Capacity represents the available resources of a node",
|
||||
}
|
||||
|
||||
@ -1207,7 +1218,7 @@ func (NodeStatus) SwaggerDoc() map[string]string {
|
||||
var map_NodeSystemInfo = map[string]string{
|
||||
"": "NodeSystemInfo is a set of ids/uuids to uniquely identify the node.",
|
||||
"machineID": "MachineID reported by the node. For unique machine identification in the cluster this field is preferred. Learn more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html",
|
||||
"systemUUID": "SystemUUID reported by the node. For unique machine identification MachineID is preferred. This field is specific to Red Hat hosts https://access.redhat.com/documentation/en-US/Red_Hat_Subscription_Management/1/html/RHSM/getting-system-uuid.html",
|
||||
"systemUUID": "SystemUUID reported by the node. For unique machine identification MachineID is preferred. This field is specific to Red Hat hosts https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid",
|
||||
"bootID": "Boot ID reported by the node.",
|
||||
"kernelVersion": "Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).",
|
||||
"osImage": "OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)).",
|
||||
@ -1298,8 +1309,8 @@ var map_PersistentVolumeClaimSpec = map[string]string{
|
||||
"resources": "Resources represents the minimum resources the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources",
|
||||
"volumeName": "VolumeName is the binding reference to the PersistentVolume backing this claim.",
|
||||
"storageClassName": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
|
||||
"volumeMode": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is a beta feature.",
|
||||
"dataSource": "This field requires the VolumeSnapshotDataSource alpha feature gate to be enabled and currently VolumeSnapshot is the only supported data source. If the provisioner can support VolumeSnapshot data source, it will create a new volume and data will be restored to the volume at the same time. If the provisioner does not support VolumeSnapshot data source, volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.",
|
||||
"volumeMode": "volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.",
|
||||
"dataSource": "This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot - Beta) * An existing PVC (PersistentVolumeClaim) * An existing custom resource/object that implements data population (Alpha) In order to use VolumeSnapshot object types, the appropriate feature gate must be enabled (VolumeSnapshotDataSource or AnyVolumeDataSource) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the specified data source is not supported, the volume will not be created and the failure will be reported as an event. In the future, we plan to support more data source types and the behavior of the provisioner may change.",
|
||||
}
|
||||
|
||||
func (PersistentVolumeClaimSpec) SwaggerDoc() map[string]string {
|
||||
@ -1318,6 +1329,16 @@ func (PersistentVolumeClaimStatus) SwaggerDoc() map[string]string {
|
||||
return map_PersistentVolumeClaimStatus
|
||||
}
|
||||
|
||||
var map_PersistentVolumeClaimTemplate = map[string]string{
|
||||
"": "PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim objects as part of an EphemeralVolumeSource.",
|
||||
"metadata": "May contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.",
|
||||
"spec": "The specification for the PersistentVolumeClaim. The entire content is copied unchanged into the PVC that gets created from this template. The same fields as in a PersistentVolumeClaim are also valid here.",
|
||||
}
|
||||
|
||||
func (PersistentVolumeClaimTemplate) SwaggerDoc() map[string]string {
|
||||
return map_PersistentVolumeClaimTemplate
|
||||
}
|
||||
|
||||
var map_PersistentVolumeClaimVolumeSource = map[string]string{
|
||||
"": "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).",
|
||||
"claimName": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
|
||||
@ -1376,7 +1397,7 @@ var map_PersistentVolumeSpec = map[string]string{
|
||||
"persistentVolumeReclaimPolicy": "What happens to a persistent volume when released from its claim. Valid options are Retain (default for manually created PersistentVolumes), Delete (default for dynamically provisioned PersistentVolumes), and Recycle (deprecated). Recycle must be supported by the volume plugin underlying this PersistentVolume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming",
|
||||
"storageClassName": "Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.",
|
||||
"mountOptions": "A list of mount options, e.g. [\"ro\", \"soft\"]. Not validated - mount will simply fail if one is invalid. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options",
|
||||
"volumeMode": "volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec. This is a beta feature.",
|
||||
"volumeMode": "volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec.",
|
||||
"nodeAffinity": "NodeAffinity defines constraints that limit what nodes this volume can be accessed from. This field influences the scheduling of pods that use this volume.",
|
||||
}
|
||||
|
||||
@ -1528,15 +1549,16 @@ func (PodList) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_PodLogOptions = map[string]string{
|
||||
"": "PodLogOptions is the query options for a Pod's logs REST call.",
|
||||
"container": "The container for which to stream logs. Defaults to only container if there is one container in the pod.",
|
||||
"follow": "Follow the log stream of the pod. Defaults to false.",
|
||||
"previous": "Return previous terminated container logs. Defaults to false.",
|
||||
"sinceSeconds": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.",
|
||||
"sinceTime": "An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.",
|
||||
"timestamps": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.",
|
||||
"tailLines": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime",
|
||||
"limitBytes": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.",
|
||||
"": "PodLogOptions is the query options for a Pod's logs REST call.",
|
||||
"container": "The container for which to stream logs. Defaults to only container if there is one container in the pod.",
|
||||
"follow": "Follow the log stream of the pod. Defaults to false.",
|
||||
"previous": "Return previous terminated container logs. Defaults to false.",
|
||||
"sinceSeconds": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.",
|
||||
"sinceTime": "An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.",
|
||||
"timestamps": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.",
|
||||
"tailLines": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime",
|
||||
"limitBytes": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.",
|
||||
"insecureSkipTLSVerifyBackend": "insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept the actual log data coming from the real kubelet).",
|
||||
}
|
||||
|
||||
func (PodLogOptions) SwaggerDoc() map[string]string {
|
||||
@ -1571,15 +1593,17 @@ func (PodReadinessGate) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_PodSecurityContext = map[string]string{
|
||||
"": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.",
|
||||
"seLinuxOptions": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.",
|
||||
"windowsOptions": "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
|
||||
"runAsUser": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.",
|
||||
"runAsGroup": "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.",
|
||||
"runAsNonRoot": "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
|
||||
"supplementalGroups": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container.",
|
||||
"fsGroup": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw ",
|
||||
"sysctls": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch.",
|
||||
"": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.",
|
||||
"seLinuxOptions": "The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.",
|
||||
"windowsOptions": "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
|
||||
"runAsUser": "The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.",
|
||||
"runAsGroup": "The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container.",
|
||||
"runAsNonRoot": "Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
|
||||
"supplementalGroups": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container.",
|
||||
"fsGroup": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw ",
|
||||
"sysctls": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch.",
|
||||
"fsGroupChangePolicy": "fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified defaults to \"Always\".",
|
||||
"seccompProfile": "The seccomp options to use by the containers in this pod.",
|
||||
}
|
||||
|
||||
func (PodSecurityContext) SwaggerDoc() map[string]string {
|
||||
@ -1613,7 +1637,7 @@ var map_PodSpec = map[string]string{
|
||||
"hostNetwork": "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.",
|
||||
"hostPID": "Use the host's pid namespace. Optional: Default to false.",
|
||||
"hostIPC": "Use the host's ipc namespace. Optional: Default to false.",
|
||||
"shareProcessNamespace": "Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. This field is beta-level and may be disabled with the PodShareProcessNamespace feature.",
|
||||
"shareProcessNamespace": "Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.",
|
||||
"securityContext": "SecurityContext holds pod-level security attributes and common container settings. Optional: Defaults to empty. See type description for default values of each field.",
|
||||
"imagePullSecrets": "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. For example, in the case of docker, only DockerConfig type secrets are honored. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod",
|
||||
"hostname": "Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.",
|
||||
@ -1628,9 +1652,10 @@ var map_PodSpec = map[string]string{
|
||||
"readinessGates": "If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md",
|
||||
"runtimeClassName": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This is a beta feature as of Kubernetes v1.14.",
|
||||
"enableServiceLinks": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.",
|
||||
"preemptionPolicy": "PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is alpha-level and is only honored by servers that enable the NonPreemptingPriority feature.",
|
||||
"preemptionPolicy": "PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is beta-level, gated by the NonPreemptingPriority feature-gate.",
|
||||
"overhead": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md This field is alpha-level as of Kubernetes v1.16, and is only honored by servers that enable the PodOverhead feature.",
|
||||
"topologySpreadConstraints": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. This field is alpha-level and is only honored by clusters that enables the EvenPodsSpread feature. All topologySpreadConstraints are ANDed.",
|
||||
"topologySpreadConstraints": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.",
|
||||
"setHostnameAsFQDN": "If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. If a pod does not have FQDN, this has no effect. Default to false.",
|
||||
}
|
||||
|
||||
func (PodSpec) SwaggerDoc() map[string]string {
|
||||
@ -1756,7 +1781,7 @@ func (Probe) SwaggerDoc() map[string]string {
|
||||
var map_ProjectedVolumeSource = map[string]string{
|
||||
"": "Represents a projected volume source",
|
||||
"sources": "list of volume projections",
|
||||
"defaultMode": "Mode bits to use on created files by default. Must be a value between 0 and 0777. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"defaultMode": "Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
}
|
||||
|
||||
func (ProjectedVolumeSource) SwaggerDoc() map[string]string {
|
||||
@ -2011,9 +2036,20 @@ func (ScopedResourceSelectorRequirement) SwaggerDoc() map[string]string {
|
||||
return map_ScopedResourceSelectorRequirement
|
||||
}
|
||||
|
||||
var map_SeccompProfile = map[string]string{
|
||||
"": "SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.",
|
||||
"type": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.",
|
||||
"localhostProfile": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is \"Localhost\".",
|
||||
}
|
||||
|
||||
func (SeccompProfile) SwaggerDoc() map[string]string {
|
||||
return map_SeccompProfile
|
||||
}
|
||||
|
||||
var map_Secret = map[string]string{
|
||||
"": "Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.",
|
||||
"metadata": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
|
||||
"immutable": "Immutable, if set to true, ensures that data stored in the Secret cannot be updated (only object metadata can be modified). If not set to true, the field can be modified at any time. Defaulted to nil. This is a beta field enabled by ImmutableEphemeralVolumes feature gate.",
|
||||
"data": "Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4",
|
||||
"stringData": "stringData allows specifying non-binary secret data in string form. It is provided as a write-only convenience method. All keys and values are merged into the data field on write, overwriting any existing values. It is never output when reading from the API.",
|
||||
"type": "Used to facilitate programmatic handling of secret data.",
|
||||
@ -2076,7 +2112,7 @@ var map_SecretVolumeSource = map[string]string{
|
||||
"": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.",
|
||||
"secretName": "Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
|
||||
"items": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
|
||||
"defaultMode": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"defaultMode": "Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
|
||||
"optional": "Specify whether the Secret or its keys must be defined",
|
||||
}
|
||||
|
||||
@ -2096,6 +2132,7 @@ var map_SecurityContext = map[string]string{
|
||||
"readOnlyRootFilesystem": "Whether this container has a read-only root filesystem. Default is false.",
|
||||
"allowPrivilegeEscalation": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN",
|
||||
"procMount": "procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled.",
|
||||
"seccompProfile": "The seccomp options to use by this container. If seccomp options are provided at both the pod & container level, the container options override the pod options.",
|
||||
}
|
||||
|
||||
func (SecurityContext) SwaggerDoc() map[string]string {
|
||||
@ -2166,12 +2203,13 @@ func (ServiceList) SwaggerDoc() map[string]string {
|
||||
}
|
||||
|
||||
var map_ServicePort = map[string]string{
|
||||
"": "ServicePort contains information on service's port.",
|
||||
"name": "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service.",
|
||||
"protocol": "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.",
|
||||
"port": "The port that will be exposed by this service.",
|
||||
"targetPort": "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service",
|
||||
"nodePort": "The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport",
|
||||
"": "ServicePort contains information on service's port.",
|
||||
"name": "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service.",
|
||||
"protocol": "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.",
|
||||
"appProtocol": "The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. This is a beta field that is guarded by the ServiceAppProtocol feature gate and enabled by default.",
|
||||
"port": "The port that will be exposed by this service.",
|
||||
"targetPort": "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service",
|
||||
"nodePort": "The port on each node on which this service is exposed when type=NodePort or LoadBalancer. Usually assigned by the system. If specified, it will be allocated to the service if unused or else creation of the service will fail. Default is to auto-allocate a port if the ServiceType of this Service requires one. More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport",
|
||||
}
|
||||
|
||||
func (ServicePort) SwaggerDoc() map[string]string {
|
||||
@ -2200,9 +2238,10 @@ var map_ServiceSpec = map[string]string{
|
||||
"externalName": "externalName is the external reference that kubedns or equivalent will return as a CNAME record for this service. No proxying will be involved. Must be a valid RFC-1123 hostname (https://tools.ietf.org/html/rfc1123) and requires Type to be ExternalName.",
|
||||
"externalTrafficPolicy": "externalTrafficPolicy denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints. \"Local\" preserves the client source IP and avoids a second hop for LoadBalancer and Nodeport type services, but risks potentially imbalanced traffic spreading. \"Cluster\" obscures the client source IP and may cause a second hop to another node, but should have good overall load-spreading.",
|
||||
"healthCheckNodePort": "healthCheckNodePort specifies the healthcheck nodePort for the service. If not specified, HealthCheckNodePort is created by the service api backend with the allocated nodePort. Will use user-specified nodePort value if specified by the client. Only effects when Type is set to LoadBalancer and ExternalTrafficPolicy is set to Local.",
|
||||
"publishNotReadyAddresses": "publishNotReadyAddresses, when set to true, indicates that DNS implementations must publish the notReadyAddresses of subsets for the Endpoints associated with the Service. The default value is false. The primary use case for setting this field is to use a StatefulSet's Headless Service to propagate SRV records for its Pods without respect to their readiness for purpose of peer discovery.",
|
||||
"publishNotReadyAddresses": "publishNotReadyAddresses indicates that any agent which deals with endpoints for this Service should disregard any indications of ready/not-ready. The primary use case for setting this field is for a StatefulSet's Headless Service to propagate SRV DNS records for its Pods for the purpose of peer discovery. The Kubernetes controllers that generate Endpoints and EndpointSlice resources for Services interpret this to mean that all endpoints are considered \"ready\" even if the Pods themselves are not. Agents which consume only Kubernetes generated endpoints through the Endpoints or EndpointSlice resources can safely assume this behavior.",
|
||||
"sessionAffinityConfig": "sessionAffinityConfig contains the configurations of session affinity.",
|
||||
"ipFamily": "ipFamily specifies whether this Service has a preference for a particular IP family (e.g. IPv4 vs. IPv6). If a specific IP family is requested, the clusterIP field will be allocated from that family, if it is available in the cluster. If no IP family is requested, the cluster's primary IP family will be used. Other IP fields (loadBalancerIP, loadBalancerSourceRanges, externalIPs) and controllers which allocate external load-balancers should use the same IP family. Endpoints for this Service will be of this family. This field is immutable after creation. Assigning a ServiceIPFamily not available in the cluster (e.g. IPv6 in IPv4 only cluster) is an error condition and will fail during clusterIP assignment.",
|
||||
"ipFamily": "ipFamily specifies whether this Service has a preference for a particular IP family (e.g. IPv4 vs. IPv6) when the IPv6DualStack feature gate is enabled. In a dual-stack cluster, you can specify ipFamily when creating a ClusterIP Service to determine whether the controller will allocate an IPv4 or IPv6 IP for it, and you can specify ipFamily when creating a headless Service to determine whether it will have IPv4 or IPv6 Endpoints. In either case, if you do not specify an ipFamily explicitly, it will default to the cluster's primary IP family. This field is part of an alpha feature, and you should not make any assumptions about its semantics other than those described above. In particular, you should not assume that it can (or cannot) be changed after creation time; that it can only have the values \"IPv4\" and \"IPv6\"; or that its current value on a given Service correctly reflects the current state of that Service. (For ClusterIP Services, look at clusterIP to see if the Service is IPv4 or IPv6. For headless Services, look at the endpoints, which may be dual-stack in the future. For ExternalName Services, ipFamily has no meaning, but it may be set to an irrelevant value anyway.)",
|
||||
"topologyKeys": "topologyKeys is a preference-order list of topology keys which implementations of services should use to preferentially sort endpoints when accessing this Service, it can not be used at the same time as externalTrafficPolicy=Local. Topology keys must be valid label keys and at most 16 keys may be specified. Endpoints are chosen based on the first topology key with available backends. If this field is specified and all entries have no backends that match the topology of the client, the service has no backends for that client and connections should fail. The special value \"*\" may be used to mean \"any topology\". This catch-all value, if used, only makes sense as the last value in the list. If this is not specified or empty, no topology constraints will be applied.",
|
||||
}
|
||||
|
||||
func (ServiceSpec) SwaggerDoc() map[string]string {
|
||||
@ -2276,7 +2315,7 @@ func (TCPSocketAction) SwaggerDoc() map[string]string {
|
||||
var map_Taint = map[string]string{
|
||||
"": "The node this Taint is attached to has the \"effect\" on any pod that does not tolerate the Taint.",
|
||||
"key": "Required. The taint key to be applied to a node.",
|
||||
"value": "Required. The taint value corresponding to the taint key.",
|
||||
"value": "The taint value corresponding to the taint key.",
|
||||
"effect": "Required. The effect of the taint on pods that do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule and NoExecute.",
|
||||
"timeAdded": "TimeAdded represents the time at which the taint was added. It is only written for NoExecute taints.",
|
||||
}
|
||||
@ -2319,9 +2358,9 @@ func (TopologySelectorTerm) SwaggerDoc() map[string]string {
|
||||
|
||||
var map_TopologySpreadConstraint = map[string]string{
|
||||
"": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.",
|
||||
"maxSkew": "MaxSkew describes the degree to which pods may be unevenly distributed. It's the maximum permitted difference between the number of matching pods in any two topology domains of a given topology type. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: ",
|
||||
"maxSkew": "MaxSkew describes the degree to which pods may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference between the number of matching pods in the target topology and the global minimum. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: ",
|
||||
"topologyKey": "TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each <key, value> as a \"bucket\", and try to put balanced number of pods into each bucket. It's a required field.",
|
||||
"whenUnsatisfiable": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it - ScheduleAnyway tells the scheduler to still schedule it It's considered as \"Unsatisfiable\" if and only if placing incoming pod on any topology violates \"MaxSkew\". For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: ",
|
||||
"whenUnsatisfiable": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it. - ScheduleAnyway tells the scheduler to schedule the pod in any location,\n but giving higher precedence to topologies that would help reduce the\n skew.\nA constraint is considered \"Unsatisfiable\" for an incoming pod if and only if every possible node assigment for that pod would violate \"MaxSkew\" on some topology. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: ",
|
||||
"labelSelector": "LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.",
|
||||
}
|
||||
|
||||
@ -2366,7 +2405,7 @@ var map_VolumeMount = map[string]string{
|
||||
"mountPath": "Path within the container at which the volume should be mounted. Must not contain ':'.",
|
||||
"subPath": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
|
||||
"mountPropagation": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.",
|
||||
"subPathExpr": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive. This field is beta in 1.15.",
|
||||
"subPathExpr": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive.",
|
||||
}
|
||||
|
||||
func (VolumeMount) SwaggerDoc() map[string]string {
|
||||
@ -2423,7 +2462,8 @@ var map_VolumeSource = map[string]string{
|
||||
"portworxVolume": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine",
|
||||
"scaleIO": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
|
||||
"storageos": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
|
||||
"csi": "CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).",
|
||||
"csi": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).",
|
||||
"ephemeral": "Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature). The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.",
|
||||
}
|
||||
|
||||
func (VolumeSource) SwaggerDoc() map[string]string {
|
||||
@ -2454,9 +2494,9 @@ func (WeightedPodAffinityTerm) SwaggerDoc() map[string]string {
|
||||
|
||||
var map_WindowsSecurityContextOptions = map[string]string{
|
||||
"": "WindowsSecurityContextOptions contain Windows-specific options and credentials.",
|
||||
"gmsaCredentialSpecName": "GMSACredentialSpecName is the name of the GMSA credential spec to use. This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.",
|
||||
"gmsaCredentialSpec": "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.",
|
||||
"runAsUserName": "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. This field is alpha-level and it is only honored by servers that enable the WindowsRunAsUserName feature flag.",
|
||||
"gmsaCredentialSpecName": "GMSACredentialSpecName is the name of the GMSA credential spec to use.",
|
||||
"gmsaCredentialSpec": "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.",
|
||||
"runAsUserName": "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.",
|
||||
}
|
||||
|
||||
func (WindowsSecurityContextOptions) SwaggerDoc() map[string]string {
|
||||
|
16
vendor/k8s.io/api/core/v1/well_known_labels.go
generated
vendored
16
vendor/k8s.io/api/core/v1/well_known_labels.go
generated
vendored
@ -17,15 +17,23 @@ limitations under the License.
|
||||
package v1
|
||||
|
||||
const (
|
||||
LabelHostname = "kubernetes.io/hostname"
|
||||
LabelZoneFailureDomain = "failure-domain.beta.kubernetes.io/zone"
|
||||
LabelZoneRegion = "failure-domain.beta.kubernetes.io/region"
|
||||
LabelHostname = "kubernetes.io/hostname"
|
||||
|
||||
LabelInstanceType = "beta.kubernetes.io/instance-type"
|
||||
LabelZoneFailureDomain = "failure-domain.beta.kubernetes.io/zone"
|
||||
LabelZoneRegion = "failure-domain.beta.kubernetes.io/region"
|
||||
LabelZoneFailureDomainStable = "topology.kubernetes.io/zone"
|
||||
LabelZoneRegionStable = "topology.kubernetes.io/region"
|
||||
|
||||
LabelInstanceType = "beta.kubernetes.io/instance-type"
|
||||
LabelInstanceTypeStable = "node.kubernetes.io/instance-type"
|
||||
|
||||
LabelOSStable = "kubernetes.io/os"
|
||||
LabelArchStable = "kubernetes.io/arch"
|
||||
|
||||
// LabelWindowsBuild is used on Windows nodes to specify the Windows build number starting with v1.17.0.
|
||||
// It's in the format MajorVersion.MinorVersion.BuildNumber (for ex: 10.0.17763)
|
||||
LabelWindowsBuild = "node.kubernetes.io/windows-build"
|
||||
|
||||
// LabelNamespaceSuffixKubelet is an allowed label namespace suffix kubelets can self-set ([*.]kubelet.kubernetes.io/*)
|
||||
LabelNamespaceSuffixKubelet = "kubelet.kubernetes.io"
|
||||
// LabelNamespaceSuffixNode is an allowed label namespace suffix kubelets can self-set ([*.]node.kubernetes.io/*)
|
||||
|
48
vendor/k8s.io/api/core/v1/well_known_taints.go
generated
vendored
Normal file
48
vendor/k8s.io/api/core/v1/well_known_taints.go
generated
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright 2019 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.
|
||||
*/
|
||||
|
||||
package v1
|
||||
|
||||
const (
|
||||
// TaintNodeNotReady will be added when node is not ready
|
||||
// and removed when node becomes ready.
|
||||
TaintNodeNotReady = "node.kubernetes.io/not-ready"
|
||||
|
||||
// TaintNodeUnreachable will be added when node becomes unreachable
|
||||
// (corresponding to NodeReady status ConditionUnknown)
|
||||
// and removed when node becomes reachable (NodeReady status ConditionTrue).
|
||||
TaintNodeUnreachable = "node.kubernetes.io/unreachable"
|
||||
|
||||
// TaintNodeUnschedulable will be added when node becomes unschedulable
|
||||
// and removed when node becomes scheduable.
|
||||
TaintNodeUnschedulable = "node.kubernetes.io/unschedulable"
|
||||
|
||||
// TaintNodeMemoryPressure will be added when node has memory pressure
|
||||
// and removed when node has enough memory.
|
||||
TaintNodeMemoryPressure = "node.kubernetes.io/memory-pressure"
|
||||
|
||||
// TaintNodeDiskPressure will be added when node has disk pressure
|
||||
// and removed when node has enough disk.
|
||||
TaintNodeDiskPressure = "node.kubernetes.io/disk-pressure"
|
||||
|
||||
// TaintNodeNetworkUnavailable will be added when node's network is unavailable
|
||||
// and removed when network becomes ready.
|
||||
TaintNodeNetworkUnavailable = "node.kubernetes.io/network-unavailable"
|
||||
|
||||
// TaintNodePIDPressure will be added when node has pid pressure
|
||||
// and removed when node has enough disk.
|
||||
TaintNodePIDPressure = "node.kubernetes.io/pid-pressure"
|
||||
)
|
118
vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
generated
vendored
118
vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go
generated
vendored
@ -519,6 +519,11 @@ func (in *ConfigMap) DeepCopyInto(out *ConfigMap) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
if in.Immutable != nil {
|
||||
in, out := &in.Immutable, &out.Immutable
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
if in.Data != nil {
|
||||
in, out := &in.Data, &out.Data
|
||||
*out = make(map[string]string, len(*in))
|
||||
@ -1091,6 +1096,11 @@ func (in *EndpointAddress) DeepCopy() *EndpointAddress {
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *EndpointPort) DeepCopyInto(out *EndpointPort) {
|
||||
*out = *in
|
||||
if in.AppProtocol != nil {
|
||||
in, out := &in.AppProtocol, &out.AppProtocol
|
||||
*out = new(string)
|
||||
**out = **in
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -1124,7 +1134,9 @@ func (in *EndpointSubset) DeepCopyInto(out *EndpointSubset) {
|
||||
if in.Ports != nil {
|
||||
in, out := &in.Ports, &out.Ports
|
||||
*out = make([]EndpointPort, len(*in))
|
||||
copy(*out, *in)
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
@ -1421,6 +1433,27 @@ func (in *EphemeralContainers) DeepCopyObject() runtime.Object {
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *EphemeralVolumeSource) DeepCopyInto(out *EphemeralVolumeSource) {
|
||||
*out = *in
|
||||
if in.VolumeClaimTemplate != nil {
|
||||
in, out := &in.VolumeClaimTemplate, &out.VolumeClaimTemplate
|
||||
*out = new(PersistentVolumeClaimTemplate)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolumeSource.
|
||||
func (in *EphemeralVolumeSource) DeepCopy() *EphemeralVolumeSource {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(EphemeralVolumeSource)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Event) DeepCopyInto(out *Event) {
|
||||
*out = *in
|
||||
@ -2973,6 +3006,24 @@ func (in *PersistentVolumeClaimStatus) DeepCopy() *PersistentVolumeClaimStatus {
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PersistentVolumeClaimTemplate) DeepCopyInto(out *PersistentVolumeClaimTemplate) {
|
||||
*out = *in
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
in.Spec.DeepCopyInto(&out.Spec)
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentVolumeClaimTemplate.
|
||||
func (in *PersistentVolumeClaimTemplate) DeepCopy() *PersistentVolumeClaimTemplate {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(PersistentVolumeClaimTemplate)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *PersistentVolumeClaimVolumeSource) DeepCopyInto(out *PersistentVolumeClaimVolumeSource) {
|
||||
*out = *in
|
||||
@ -3677,6 +3728,16 @@ func (in *PodSecurityContext) DeepCopyInto(out *PodSecurityContext) {
|
||||
*out = make([]Sysctl, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
if in.FSGroupChangePolicy != nil {
|
||||
in, out := &in.FSGroupChangePolicy, &out.FSGroupChangePolicy
|
||||
*out = new(PodFSGroupChangePolicy)
|
||||
**out = **in
|
||||
}
|
||||
if in.SeccompProfile != nil {
|
||||
in, out := &in.SeccompProfile, &out.SeccompProfile
|
||||
*out = new(SeccompProfile)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -3842,6 +3903,11 @@ func (in *PodSpec) DeepCopyInto(out *PodSpec) {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
if in.SetHostnameAsFQDN != nil {
|
||||
in, out := &in.SetHostnameAsFQDN, &out.SetHostnameAsFQDN
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -4658,11 +4724,37 @@ func (in *ScopedResourceSelectorRequirement) DeepCopy() *ScopedResourceSelectorR
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *SeccompProfile) DeepCopyInto(out *SeccompProfile) {
|
||||
*out = *in
|
||||
if in.LocalhostProfile != nil {
|
||||
in, out := &in.LocalhostProfile, &out.LocalhostProfile
|
||||
*out = new(string)
|
||||
**out = **in
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeccompProfile.
|
||||
func (in *SeccompProfile) DeepCopy() *SeccompProfile {
|
||||
if in == nil {
|
||||
return nil
|
||||
}
|
||||
out := new(SeccompProfile)
|
||||
in.DeepCopyInto(out)
|
||||
return out
|
||||
}
|
||||
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *Secret) DeepCopyInto(out *Secret) {
|
||||
*out = *in
|
||||
out.TypeMeta = in.TypeMeta
|
||||
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
|
||||
if in.Immutable != nil {
|
||||
in, out := &in.Immutable, &out.Immutable
|
||||
*out = new(bool)
|
||||
**out = **in
|
||||
}
|
||||
if in.Data != nil {
|
||||
in, out := &in.Data, &out.Data
|
||||
*out = make(map[string][]byte, len(*in))
|
||||
@ -4914,6 +5006,11 @@ func (in *SecurityContext) DeepCopyInto(out *SecurityContext) {
|
||||
*out = new(ProcMountType)
|
||||
**out = **in
|
||||
}
|
||||
if in.SeccompProfile != nil {
|
||||
in, out := &in.SeccompProfile, &out.SeccompProfile
|
||||
*out = new(SeccompProfile)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -5112,6 +5209,11 @@ func (in *ServiceList) DeepCopyObject() runtime.Object {
|
||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||
func (in *ServicePort) DeepCopyInto(out *ServicePort) {
|
||||
*out = *in
|
||||
if in.AppProtocol != nil {
|
||||
in, out := &in.AppProtocol, &out.AppProtocol
|
||||
*out = new(string)
|
||||
**out = **in
|
||||
}
|
||||
out.TargetPort = in.TargetPort
|
||||
return
|
||||
}
|
||||
@ -5157,7 +5259,9 @@ func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
|
||||
if in.Ports != nil {
|
||||
in, out := &in.Ports, &out.Ports
|
||||
*out = make([]ServicePort, len(*in))
|
||||
copy(*out, *in)
|
||||
for i := range *in {
|
||||
(*in)[i].DeepCopyInto(&(*out)[i])
|
||||
}
|
||||
}
|
||||
if in.Selector != nil {
|
||||
in, out := &in.Selector, &out.Selector
|
||||
@ -5186,6 +5290,11 @@ func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec) {
|
||||
*out = new(IPFamily)
|
||||
**out = **in
|
||||
}
|
||||
if in.TopologyKeys != nil {
|
||||
in, out := &in.TopologyKeys, &out.TopologyKeys
|
||||
*out = make([]string, len(*in))
|
||||
copy(*out, *in)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@ -5693,6 +5802,11 @@ func (in *VolumeSource) DeepCopyInto(out *VolumeSource) {
|
||||
*out = new(CSIVolumeSource)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
if in.Ephemeral != nil {
|
||||
in, out := &in.Ephemeral, &out.Ephemeral
|
||||
*out = new(EphemeralVolumeSource)
|
||||
(*in).DeepCopyInto(*out)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user