Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

K8sTypes unstable

Kubernetes resource types used by the cluster helpers.

119 exports Since v4.0.0 Source

Models

Affinity

interface unstable
Since v4.0.0

Affinity is a group of affinity scheduling rules.

Signature

interface Affinity {
nodeAffinity?: NodeAffinity;
podAffinity?: PodAffinity;
podAntiAffinity?: PodAntiAffinity;
}

AppArmorProfile

interface unstable
Since v4.0.0

AppArmorProfile defines a pod or container's AppArmor settings.

Signature

interface AppArmorProfile {
localhostProfile?: string;
type: string;
}
Since v4.0.0

Represents a Persistent Disk resource in AWS.

Details

An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.

Signature

interface AWSElasticBlockStoreVolumeSource {
fsType?: string;
partition?: number;
readOnly?: boolean;
volumeID: string;
}

AzureDiskVolumeSource

interface unstable
Since v4.0.0

AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.

Signature

interface AzureDiskVolumeSource {
cachingMode?: string;
diskName: string;
diskURI: string;
fsType?: string;
kind?: string;
readOnly?: boolean;
}

AzureFileVolumeSource

interface unstable
Since v4.0.0

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

Signature

interface AzureFileVolumeSource {
readOnly?: boolean;
secretName: string;
shareName: string;
}

Capabilities

interface unstable
Since v4.0.0

Adds and removes POSIX capabilities from running containers.

Signature

interface Capabilities {
add?: Array<string>;
drop?: Array<string>;
}

CephFSVolumeSource

interface unstable
Since v4.0.0

Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.

Signature

interface CephFSVolumeSource {
monitors: Array<string>;
path?: string;
readOnly?: boolean;
secretFile?: string;
secretRef?: LocalObjectReference;
user?: string;
}

CinderVolumeSource

interface unstable
Since v4.0.0

Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.

Signature

interface CinderVolumeSource {
fsType?: string;
readOnly?: boolean;
secretRef?: LocalObjectReference;
volumeID: string;
}

ClaimSource

interface unstable
Since v4.0.0

ClaimSource describes a reference to a ResourceClaim.

Details

Exactly one of these fields should be set. Consumers of this type must treat an empty object as if it has an unknown value.

Signature

interface ClaimSource {
resourceClaimName?: string;
resourceClaimTemplateName?: string;
}
Since v4.0.0

ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem.

Signature

interface ClusterTrustBundleProjection {
labelSelector?: LabelSelector;
name?: string;
optional?: boolean;
path: string;
signerName?: string;
}

ConfigMapEnvSource

interface unstable
Since v4.0.0

ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.

Details

The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.

Signature

interface ConfigMapEnvSource {
name?: string;
optional?: boolean;
}

ConfigMapKeySelector

interface unstable
Since v4.0.0

Selects a key from a ConfigMap.

Signature

interface ConfigMapKeySelector {
key: string;
name?: string;
optional?: boolean;
}

ConfigMapProjection

interface unstable
Since v4.0.0

Adapts a ConfigMap into a projected volume.

Details

The contents of the target ConfigMap's Data field will be presented in a projected 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. Note that this is identical to a configmap volume source without the default mode.

Signature

interface ConfigMapProjection {
items?: Array<KeyToPath>;
name?: string;
optional?: boolean;
}

ConfigMapVolumeSource

interface unstable
Since v4.0.0

Adapts a ConfigMap into a volume.

Details

The 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.

Signature

interface ConfigMapVolumeSource {
defaultMode?: number;
items?: Array<KeyToPath>;
name?: string;
optional?: boolean;
}

Container

interface unstable
Since v4.0.0

A single application container that you want to run within a pod.

Signature

interface Container {
args?: Array<string>;
command?: Array<string>;
env?: Array<EnvVar>;
envFrom?: Array<EnvFromSource>;
image?: string;
imagePullPolicy?: string;
lifecycle?: Lifecycle;
livenessProbe?: Probe;
name: string;
ports?: Array<ContainerPort>;
readinessProbe?: Probe;
resizePolicy?: Array<ContainerResizePolicy>;
resources?: ResourceRequirements;
restartPolicy?: string;
securityContext?: SecurityContext;
startupProbe?: Probe;
stdin?: boolean;
stdinOnce?: boolean;
terminationMessagePath?: string;
terminationMessagePolicy?: string;
tty?: boolean;
volumeDevices?: Array<VolumeDevice>;
volumeMounts?: Array<VolumeMount>;
workingDir?: string;
}

ContainerPort

interface unstable
Since v4.0.0

ContainerPort represents a network port in a single container.

Signature

interface ContainerPort {
containerPort: number;
hostIP?: string;
hostPort?: number;
name?: string;
protocol?: string;
}

ContainerResizePolicy

interface unstable
Since v4.0.0

ContainerResizePolicy represents resource resize policy for the container.

Signature

interface ContainerResizePolicy {
resourceName: string;
restartPolicy: string;
}

ContainerState

interface unstable
Since v4.0.0

ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.

Signature

interface ContainerState {
running?: ContainerStateRunning;
terminated?: ContainerStateTerminated;
waiting?: ContainerStateWaiting;
}

ContainerStateRunning

interface unstable
Since v4.0.0

ContainerStateRunning is a running state of a container.

Signature

interface ContainerStateRunning {
startedAt?: string;
}

ContainerStateTerminated

interface unstable
Since v4.0.0

ContainerStateTerminated is a terminated state of a container.

Signature

interface ContainerStateTerminated {
containerID?: string;
exitCode: number;
finishedAt?: string;
message?: string;
reason?: string;
signal?: number;
startedAt?: string;
}

ContainerStateWaiting

interface unstable
Since v4.0.0

ContainerStateWaiting is a waiting state of a container.

Signature

interface ContainerStateWaiting {
message?: string;
reason?: string;
}

ContainerStatus

interface unstable
Since v4.0.0

ContainerStatus contains details for the current status of this container.

Signature

interface ContainerStatus {
allocatedResources?: {
[name: string]: string;
};
containerID?: string;
image: string;
imageID: string;
lastState?: ContainerState;
name: string;
ready: boolean;
resources?: ResourceRequirements;
restartCount: number;
started?: boolean;
state?: ContainerState;
volumeMounts?: Array<VolumeMountStatus>;
}

CSIVolumeSource

interface unstable
Since v4.0.0

Represents a source location of a volume to mount, managed by an external CSI driver

Signature

interface CSIVolumeSource {
driver: string;
fsType?: string;
nodePublishSecretRef?: LocalObjectReference;
readOnly?: boolean;
volumeAttributes?: {
[name: string]: string;
};
}

DownwardAPIProjection

interface unstable
Since v4.0.0

Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.

Signature

interface DownwardAPIProjection {
items?: Array<DownwardAPIVolumeFile>;
}

DownwardAPIVolumeFile

interface unstable
Since v4.0.0

DownwardAPIVolumeFile represents information to create the file containing the pod field

Signature

interface DownwardAPIVolumeFile {
fieldRef?: ObjectFieldSelector;
mode?: number;
path: string;
resourceFieldRef?: ResourceFieldSelector;
}

DownwardAPIVolumeSource

interface unstable
Since v4.0.0

DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.

Signature

interface DownwardAPIVolumeSource {
defaultMode?: number;
items?: Array<DownwardAPIVolumeFile>;
}

EmptyDirVolumeSource

interface unstable
Since v4.0.0

Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.

Signature

interface EmptyDirVolumeSource {
medium?: string;
sizeLimit?: string;
}

EnvFromSource

interface unstable
Since v4.0.0

EnvFromSource represents the source of a set of ConfigMaps

Signature

interface EnvFromSource {
configMapRef?: ConfigMapEnvSource;
prefix?: string;
secretRef?: SecretEnvSource;
}

EnvVar

interface unstable
Since v4.0.0

EnvVar represents an environment variable present in a Container.

Signature

interface EnvVar {
name: string;
value?: string;
valueFrom?: EnvVarSource;
}

EnvVarSource

interface unstable
Since v4.0.0

EnvVarSource represents a source for the value of an EnvVar.

Signature

interface EnvVarSource {
configMapKeyRef?: ConfigMapKeySelector;
fieldRef?: ObjectFieldSelector;
resourceFieldRef?: ResourceFieldSelector;
secretKeyRef?: SecretKeySelector;
}

EphemeralContainer

interface unstable
Since v4.0.0

An EphemeralContainer is a temporary container that you may add to an existing Pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a Pod is removed or restarted. The kubelet may evict a Pod if an ephemeral container causes the Pod to exceed its resource allocation.

Details

To add an ephemeral container, use the ephemeralcontainers subresource of an existing Pod. Ephemeral containers may not be removed or restarted.

Signature

interface EphemeralContainer {
args?: Array<string>;
command?: Array<string>;
env?: Array<EnvVar>;
envFrom?: Array<EnvFromSource>;
image?: string;
imagePullPolicy?: string;
lifecycle?: Lifecycle;
livenessProbe?: Probe;
name: string;
ports?: Array<ContainerPort>;
readinessProbe?: Probe;
resizePolicy?: Array<ContainerResizePolicy>;
resources?: ResourceRequirements;
restartPolicy?: string;
securityContext?: SecurityContext;
startupProbe?: Probe;
stdin?: boolean;
stdinOnce?: boolean;
targetContainerName?: string;
terminationMessagePath?: string;
terminationMessagePolicy?: string;
tty?: boolean;
volumeDevices?: Array<VolumeDevice>;
volumeMounts?: Array<VolumeMount>;
workingDir?: string;
}

EphemeralVolumeSource

interface unstable
Since v4.0.0

Represents an ephemeral volume that is handled by a normal storage driver.

Signature

interface EphemeralVolumeSource {
volumeClaimTemplate?: PersistentVolumeClaimTemplate;
}

ExecAction

interface unstable
Since v4.0.0

ExecAction describes a "run in container" action.

Signature

interface ExecAction {
command?: Array<string>;
}

FCVolumeSource

interface unstable
Since v4.0.0

Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.

Signature

interface FCVolumeSource {
fsType?: string;
lun?: number;
readOnly?: boolean;
targetWWNs?: Array<string>;
wwids?: Array<string>;
}

FieldsV1

interface unstable
Since v4.0.0

FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.

Details

Each key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:', where is the name of a field in a struct, or key in a map 'v:', where is the exact json formatted value of a list item 'i:', where is position of a item in a list 'k:', where is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.

The exact format is defined in sigs.k8s.io/structured-merge-diff

Signature

interface FieldsV1 {}

FlexVolumeSource

interface unstable
Since v4.0.0

FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.

Signature

interface FlexVolumeSource {
driver: string;
fsType?: string;
options?: {
[name: string]: string;
};
readOnly?: boolean;
secretRef?: LocalObjectReference;
}

FlockerVolumeSource

interface unstable
Since v4.0.0

Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.

Signature

interface FlockerVolumeSource {
datasetName?: string;
datasetUUID?: string;
}
Since v4.0.0

Represents a Persistent Disk resource in Google Compute Engine.

Details

A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.

Signature

interface GCEPersistentDiskVolumeSource {
fsType?: string;
partition?: number;
pdName: string;
readOnly?: boolean;
}

GitRepoVolumeSource

interface unstable
Since v4.0.0

Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.

Details

DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.

Signature

interface GitRepoVolumeSource {
directory?: string;
repository: string;
revision?: string;
}

GlusterfsVolumeSource

interface unstable
Since v4.0.0

Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.

Signature

interface GlusterfsVolumeSource {
endpoints: string;
path: string;
readOnly?: boolean;
}

GRPCAction

interface unstable
Since v4.0.0

GRPCAction specifies an action involving a gRPC service.

Signature

interface GRPCAction {
port: number;
service?: string;
}

HostAlias

interface unstable
Since v4.0.0

HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.

Signature

interface HostAlias {
hostnames?: Array<string>;
ip?: string;
}

HostIP

interface unstable
Since v4.0.0

HostIP represents a single IP address allocated to the host.

Signature

interface HostIP {
ip?: string;
}

HostPathVolumeSource

interface unstable
Since v4.0.0

Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.

Signature

interface HostPathVolumeSource {
path: string;
type?: string;
}

HTTPGetAction

interface unstable
Since v4.0.0

HTTPGetAction describes an action based on HTTP Get requests.

Signature

interface HTTPGetAction {
host?: string;
httpHeaders?: Array<HTTPHeader>;
path?: string;
port: string | number;
scheme?: string;
}

HTTPHeader

interface unstable
Since v4.0.0

HTTPHeader describes a custom header to be used in HTTP probes

Signature

interface HTTPHeader {
name: string;
value: string;
}

ISCSIVolumeSource

interface unstable
Since v4.0.0

Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.

Signature

interface ISCSIVolumeSource {
chapAuthDiscovery?: boolean;
chapAuthSession?: boolean;
fsType?: string;
initiatorName?: string;
iqn: string;
iscsiInterface?: string;
lun: number;
portals?: Array<string>;
readOnly?: boolean;
secretRef?: LocalObjectReference;
targetPortal: string;
}

KeyToPath

interface unstable
Since v4.0.0

Maps a string key to a path within a volume.

Signature

interface KeyToPath {
key: string;
mode?: number;
path: string;
}

LabelSelector

interface unstable
Since v4.0.0

A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects.

Signature

interface LabelSelector {
matchExpressions?: Array<LabelSelectorRequirement>;
matchLabels?: {
[name: string]: string;
};
}

LabelSelectorRequirement

interface unstable
Since v4.0.0

A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Signature

interface LabelSelectorRequirement {
key: string;
operator: string;
values?: Array<string>;
}

Lifecycle

interface unstable
Since v4.0.0

Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.

Signature

interface Lifecycle {
postStart?: LifecycleHandler;
preStop?: LifecycleHandler;
}

LifecycleHandler

interface unstable
Since v4.0.0

LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.

Signature

interface LifecycleHandler {
exec?: ExecAction;
httpGet?: HTTPGetAction;
sleep?: SleepAction;
tcpSocket?: TCPSocketAction;
}

LocalObjectReference

interface unstable
Since v4.0.0

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

Signature

interface LocalObjectReference {
name?: string;
}

ManagedFieldsEntry

interface unstable
Since v4.0.0

ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.

Signature

interface ManagedFieldsEntry {
apiVersion?: string;
fieldsType?: string;
fieldsV1?: FieldsV1;
manager?: string;
operation?: string;
subresource?: string;
time?: string;
}

NFSVolumeSource

interface unstable
Since v4.0.0

Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.

Signature

interface NFSVolumeSource {
path: string;
readOnly?: boolean;
server: string;
}

NodeAffinity

interface unstable
Since v4.0.0

Node affinity is a group of node affinity scheduling rules.

Signature

interface NodeAffinity {
preferredDuringSchedulingIgnoredDuringExecution?: Array<PreferredSchedulingTerm>;
requiredDuringSchedulingIgnoredDuringExecution?: NodeSelector;
}

NodeSelector

interface unstable
Since v4.0.0

A node selector represents the union of the results of one or more label queries over a set of nodes; that is, it represents the OR of the selectors represented by the node selector terms.

Signature

interface NodeSelector {
nodeSelectorTerms: Array<NodeSelectorTerm>;
}

NodeSelectorRequirement

interface unstable
Since v4.0.0

A node selector requirement is a selector that contains values, a key, and an operator that relates the key and values.

Signature

interface NodeSelectorRequirement {
key: string;
operator: string;
values?: Array<string>;
}

NodeSelectorTerm

interface unstable
Since v4.0.0

A null or empty node selector term matches no objects. The requirements of them are ANDed. The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.

Signature

interface NodeSelectorTerm {
matchExpressions?: Array<NodeSelectorRequirement>;
matchFields?: Array<NodeSelectorRequirement>;
}

ObjectFieldSelector

interface unstable
Since v4.0.0

ObjectFieldSelector selects an APIVersioned field of an object.

Signature

interface ObjectFieldSelector {
apiVersion?: string;
fieldPath: string;
}

ObjectMeta

interface unstable
Since v4.0.0

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

Signature

interface ObjectMeta {
annotations?: {
[name: string]: string;
};
readonly creationTimestamp?: string;
readonly deletionGracePeriodSeconds?: number;
readonly deletionTimestamp?: string;
finalizers?: Array<string>;
generateName?: string;
readonly generation?: number;
labels?: {
[name: string]: string;
};
managedFields?: Array<ManagedFieldsEntry>;
name?: string;
namespace?: string;
ownerReferences?: Array<OwnerReference>;
readonly resourceVersion?: string;
selfLink?: string;
readonly uid?: string;
}

OwnerReference

interface unstable
Since v4.0.0

OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.

Signature

interface OwnerReference {
apiVersion: string;
blockOwnerDeletion?: boolean;
controller?: boolean;
kind: string;
name: string;
uid: string;
}

PersistentVolumeClaimSpec

interface unstable
Since v4.0.0

PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes

Signature

interface PersistentVolumeClaimSpec {
accessModes?: Array<string>;
dataSource?: TypedLocalObjectReference;
dataSourceRef?: TypedObjectReference;
resources?: VolumeResourceRequirements;
selector?: LabelSelector;
storageClassName?: string;
volumeAttributesClassName?: string;
volumeMode?: string;
volumeName?: string;
}
Since v4.0.0

PersistentVolumeClaimTemplate is used to produce PersistentVolumeClaim objects as part of an EphemeralVolumeSource.

Signature

interface PersistentVolumeClaimTemplate {
metadata?: ObjectMeta;
spec: PersistentVolumeClaimSpec;
}
Since v4.0.0

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).

Signature

interface PersistentVolumeClaimVolumeSource {
claimName: string;
readOnly?: boolean;
}
Since v4.0.0

Represents a Photon Controller persistent disk resource.

Signature

interface PhotonPersistentDiskVolumeSource {
fsType?: string;
pdID: string;
}

Pod

interface unstable
Since v4.0.0

Pod is a collection of containers that can run on a host. This resource is created by clients and scheduled onto hosts.

Signature

interface Pod {
apiVersion?: "v1";
kind?: "Pod";
metadata?: ObjectMeta;
spec?: PodSpec;
readonly status?: PodStatus;
}

PodAffinity

interface unstable
Since v4.0.0

Pod affinity is a group of inter pod affinity scheduling rules.

Signature

interface PodAffinity {
preferredDuringSchedulingIgnoredDuringExecution?: Array<WeightedPodAffinityTerm>;
requiredDuringSchedulingIgnoredDuringExecution?: Array<PodAffinityTerm>;
}

PodAffinityTerm

interface unstable
Since v4.0.0

Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running

Signature

interface PodAffinityTerm {
labelSelector?: LabelSelector;
matchLabelKeys?: Array<string>;
mismatchLabelKeys?: Array<string>;
namespaces?: Array<string>;
namespaceSelector?: LabelSelector;
topologyKey: string;
}

PodAntiAffinity

interface unstable
Since v4.0.0

Pod anti affinity is a group of inter pod anti affinity scheduling rules.

Signature

interface PodAntiAffinity {
preferredDuringSchedulingIgnoredDuringExecution?: Array<WeightedPodAffinityTerm>;
requiredDuringSchedulingIgnoredDuringExecution?: Array<PodAffinityTerm>;
}

PodCondition

interface unstable
Since v4.0.0

PodCondition contains details for the current condition of this pod.

Signature

interface PodCondition {
lastProbeTime?: string;
lastTransitionTime?: string;
message?: string;
reason?: string;
status: string;
type: string;
}

PodDNSConfig

interface unstable
Since v4.0.0

PodDNSConfig defines the DNS parameters of a pod in addition to those generated from DNSPolicy.

Signature

interface PodDNSConfig {
nameservers?: Array<string>;
options?: Array<PodDNSConfigOption>;
searches?: Array<string>;
}

PodDNSConfigOption

interface unstable
Since v4.0.0

PodDNSConfigOption defines DNS resolver options of a pod.

Signature

interface PodDNSConfigOption {
name?: string;
value?: string;
}

PodIP

interface unstable
Since v4.0.0

PodIP represents a single IP address allocated to the pod.

Signature

interface PodIP {
ip?: string;
}

PodOS

interface unstable
Since v4.0.0

PodOS defines the OS parameters of a pod.

Signature

interface PodOS {
name: string;
}

PodReadinessGate

interface unstable
Since v4.0.0

PodReadinessGate contains the reference to a pod condition

Signature

interface PodReadinessGate {
conditionType: string;
}

PodResourceClaim

interface unstable
Since v4.0.0

PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.

Signature

interface PodResourceClaim {
name: string;
source?: ClaimSource;
}

PodResourceClaimStatus

interface unstable
Since v4.0.0

PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim which references a ResourceClaimTemplate. It stores the generated name for the corresponding ResourceClaim.

Signature

interface PodResourceClaimStatus {
name: string;
resourceClaimName?: string;
}

PodSchedulingGate

interface unstable
Since v4.0.0

PodSchedulingGate is associated to a Pod to guard its scheduling.

Signature

interface PodSchedulingGate {
name: string;
}

PodSecurityContext

interface unstable
Since v4.0.0

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.

Signature

interface PodSecurityContext {
appArmorProfile?: AppArmorProfile;
fsGroup?: number;
fsGroupChangePolicy?: string;
runAsGroup?: number;
runAsNonRoot?: boolean;
runAsUser?: number;
seccompProfile?: SeccompProfile;
seLinuxOptions?: SELinuxOptions;
supplementalGroups?: Array<number>;
sysctls?: Array<Sysctl>;
windowsOptions?: WindowsSecurityContextOptions;
}

PodSpec

interface unstable
Since v4.0.0

PodSpec is a description of a pod.

Signature

interface PodSpec {
activeDeadlineSeconds?: number;
affinity?: Affinity;
automountServiceAccountToken?: boolean;
containers: Array<Container>;
dnsConfig?: PodDNSConfig;
dnsPolicy?: string;
enableServiceLinks?: boolean;
ephemeralContainers?: Array<EphemeralContainer>;
hostAliases?: Array<HostAlias>;
hostIPC?: boolean;
hostname?: string;
hostNetwork?: boolean;
hostPID?: boolean;
hostUsers?: boolean;
imagePullSecrets?: Array<LocalObjectReference>;
initContainers?: Array<Container>;
nodeName?: string;
nodeSelector?: {
[name: string]: string;
};
os?: PodOS;
overhead?: {
[name: string]: string;
};
preemptionPolicy?: string;
priority?: number;
priorityClassName?: string;
readinessGates?: Array<PodReadinessGate>;
resourceClaims?: Array<PodResourceClaim>;
restartPolicy?: string;
runtimeClassName?: string;
schedulerName?: string;
schedulingGates?: Array<PodSchedulingGate>;
securityContext?: PodSecurityContext;
serviceAccount?: string;
serviceAccountName?: string;
setHostnameAsFQDN?: boolean;
shareProcessNamespace?: boolean;
subdomain?: string;
terminationGracePeriodSeconds?: number;
tolerations?: Array<Toleration>;
topologySpreadConstraints?: Array<TopologySpreadConstraint>;
volumes?: Array<Volume>;
}

PodStatus

interface unstable
Since v4.0.0

PodStatus represents information about the status of a pod. Status may trail the actual state of a system, especially if the node that hosts the pod cannot contact the control plane.

Signature

interface PodStatus {
conditions?: Array<PodCondition>;
containerStatuses?: Array<ContainerStatus>;
ephemeralContainerStatuses?: Array<ContainerStatus>;
hostIP?: string;
hostIPs?: Array<HostIP>;
initContainerStatuses?: Array<ContainerStatus>;
message?: string;
nominatedNodeName?: string;
phase?: string;
podIP?: string;
podIPs?: Array<PodIP>;
qosClass?: string;
reason?: string;
resize?: string;
resourceClaimStatuses?: Array<PodResourceClaimStatus>;
startTime?: string;
}

PortworxVolumeSource

interface unstable
Since v4.0.0

PortworxVolumeSource represents a Portworx volume resource.

Signature

interface PortworxVolumeSource {
fsType?: string;
readOnly?: boolean;
volumeID: string;
}

PreferredSchedulingTerm

interface unstable
Since v4.0.0

An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).

Signature

interface PreferredSchedulingTerm {
preference: NodeSelectorTerm;
weight: number;
}

Probe

interface unstable
Since v4.0.0

Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.

Signature

interface Probe {
exec?: ExecAction;
failureThreshold?: number;
grpc?: GRPCAction;
httpGet?: HTTPGetAction;
initialDelaySeconds?: number;
periodSeconds?: number;
successThreshold?: number;
tcpSocket?: TCPSocketAction;
terminationGracePeriodSeconds?: number;
timeoutSeconds?: number;
}

ProjectedVolumeSource

interface unstable
Since v4.0.0

Represents a projected volume source

Signature

interface ProjectedVolumeSource {
defaultMode?: number;
sources?: Array<VolumeProjection>;
}

Quantity

type unstable
Since v4.0.0

Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.

Signature

type Quantity = string

QuobyteVolumeSource

interface unstable
Since v4.0.0

Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.

Signature

interface QuobyteVolumeSource {
group?: string;
readOnly?: boolean;
registry: string;
tenant?: string;
user?: string;
volume: string;
}

RBDVolumeSource

interface unstable
Since v4.0.0

Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.

Signature

interface RBDVolumeSource {
fsType?: string;
image: string;
keyring?: string;
monitors: Array<string>;
pool?: string;
readOnly?: boolean;
secretRef?: LocalObjectReference;
user?: string;
}

ResourceClaim

interface unstable
Since v4.0.0

ResourceClaim references one entry in PodSpec.ResourceClaims.

Signature

interface ResourceClaim {
name: string;
}

ResourceFieldSelector

interface unstable
Since v4.0.0

ResourceFieldSelector represents container resources (cpu, memory) and their output format

Signature

interface ResourceFieldSelector {
containerName?: string;
divisor?: string;
resource: string;
}

ResourceRequirements

interface unstable
Since v4.0.0

ResourceRequirements describes the compute resource requirements.

Signature

interface ResourceRequirements {
claims?: Array<ResourceClaim>;
limits?: {
[name: string]: string;
};
requests?: {
[name: string]: string;
};
}

ScaleIOVolumeSource

interface unstable
Since v4.0.0

ScaleIOVolumeSource represents a persistent ScaleIO volume

Signature

interface ScaleIOVolumeSource {
fsType?: string;
gateway: string;
protectionDomain?: string;
readOnly?: boolean;
secretRef: LocalObjectReference;
sslEnabled?: boolean;
storageMode?: string;
storagePool?: string;
system: string;
volumeName?: string;
}

SeccompProfile

interface unstable
Since v4.0.0

SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.

Signature

interface SeccompProfile {
localhostProfile?: string;
type: string;
}

SecretEnvSource

interface unstable
Since v4.0.0

SecretEnvSource selects a Secret to populate the environment variables with.

Details

The contents of the target Secret's Data field will represent the key-value pairs as environment variables.

Signature

interface SecretEnvSource {
name?: string;
optional?: boolean;
}

SecretKeySelector

interface unstable
Since v4.0.0

SecretKeySelector selects a key of a Secret.

Signature

interface SecretKeySelector {
key: string;
name?: string;
optional?: boolean;
}

SecretProjection

interface unstable
Since v4.0.0

Adapts a secret into a projected volume.

Details

The contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.

Signature

interface SecretProjection {
items?: Array<KeyToPath>;
name?: string;
optional?: boolean;
}

SecretVolumeSource

interface unstable
Since v4.0.0

Adapts a Secret into a volume.

Details

The 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.

Signature

interface SecretVolumeSource {
defaultMode?: number;
items?: Array<KeyToPath>;
optional?: boolean;
secretName?: string;
}

SecurityContext

interface unstable
Since v4.0.0

SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence.

Signature

interface SecurityContext {
allowPrivilegeEscalation?: boolean;
appArmorProfile?: AppArmorProfile;
capabilities?: Capabilities;
privileged?: boolean;
procMount?: string;
readOnlyRootFilesystem?: boolean;
runAsGroup?: number;
runAsNonRoot?: boolean;
runAsUser?: number;
seccompProfile?: SeccompProfile;
seLinuxOptions?: SELinuxOptions;
windowsOptions?: WindowsSecurityContextOptions;
}

SELinuxOptions

interface unstable
Since v4.0.0

SELinuxOptions are the labels to be applied to the container

Signature

interface SELinuxOptions {
level?: string;
role?: string;
type?: string;
user?: string;
}
Since v4.0.0

ServiceAccountTokenProjection represents a projected service account token volume. This projection can be used to insert a service account token into the pods runtime filesystem for use against APIs (Kubernetes API Server or otherwise).

Signature

interface ServiceAccountTokenProjection {
audience?: string;
expirationSeconds?: number;
path: string;
}

SleepAction

interface unstable
Since v4.0.0

SleepAction describes a "sleep" action.

Signature

interface SleepAction {
seconds: number;
}

StorageOSVolumeSource

interface unstable
Since v4.0.0

Represents a StorageOS persistent volume resource.

Signature

interface StorageOSVolumeSource {
fsType?: string;
readOnly?: boolean;
secretRef?: LocalObjectReference;
volumeName?: string;
volumeNamespace?: string;
}

Sysctl

interface unstable
Since v4.0.0

Sysctl defines a kernel parameter to be set

Signature

interface Sysctl {
name: string;
value: string;
}

TCPSocketAction

interface unstable
Since v4.0.0

TCPSocketAction describes an action based on opening a socket

Signature

interface TCPSocketAction {
host?: string;
port: string | number;
}

Time

type unstable
Since v4.0.0

Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

Signature

type Time = string

Toleration

interface unstable
Since v4.0.0

The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator .

Signature

interface Toleration {
effect?: string;
key?: string;
operator?: string;
tolerationSeconds?: number;
value?: string;
}

TopologySpreadConstraint

interface unstable
Since v4.0.0

TopologySpreadConstraint specifies how to spread matching pods among the given topology.

Signature

interface TopologySpreadConstraint {
labelSelector?: LabelSelector;
matchLabelKeys?: Array<string>;
maxSkew: number;
minDomains?: number;
nodeAffinityPolicy?: string;
nodeTaintsPolicy?: string;
topologyKey: string;
whenUnsatisfiable: string;
}

TypedLocalObjectReference

interface unstable
Since v4.0.0

TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.

Signature

interface TypedLocalObjectReference {
apiGroup?: string;
kind: string;
name: string;
}

TypedObjectReference

interface unstable
Since v4.0.0

TypedObjectReference contains enough information to locate a typed referenced object.

Signature

interface TypedObjectReference {
apiGroup?: string;
kind: string;
name: string;
namespace?: string;
}

Volume

interface unstable
Since v4.0.0

Volume represents a named volume in a pod that may be accessed by any container in the pod.

Signature

interface Volume {
awsElasticBlockStore?: AWSElasticBlockStoreVolumeSource;
azureDisk?: AzureDiskVolumeSource;
azureFile?: AzureFileVolumeSource;
cephfs?: CephFSVolumeSource;
cinder?: CinderVolumeSource;
configMap?: ConfigMapVolumeSource;
csi?: CSIVolumeSource;
downwardAPI?: DownwardAPIVolumeSource;
emptyDir?: EmptyDirVolumeSource;
ephemeral?: EphemeralVolumeSource;
fc?: FCVolumeSource;
flexVolume?: FlexVolumeSource;
flocker?: FlockerVolumeSource;
gcePersistentDisk?: GCEPersistentDiskVolumeSource;
gitRepo?: GitRepoVolumeSource;
glusterfs?: GlusterfsVolumeSource;
hostPath?: HostPathVolumeSource;
iscsi?: ISCSIVolumeSource;
name: string;
nfs?: NFSVolumeSource;
persistentVolumeClaim?: PersistentVolumeClaimVolumeSource;
photonPersistentDisk?: PhotonPersistentDiskVolumeSource;
portworxVolume?: PortworxVolumeSource;
projected?: ProjectedVolumeSource;
quobyte?: QuobyteVolumeSource;
rbd?: RBDVolumeSource;
scaleIO?: ScaleIOVolumeSource;
secret?: SecretVolumeSource;
storageos?: StorageOSVolumeSource;
vsphereVolume?: VsphereVirtualDiskVolumeSource;
}

VolumeDevice

interface unstable
Since v4.0.0

volumeDevice describes a mapping of a raw block device within a container.

Signature

interface VolumeDevice {
devicePath: string;
name: string;
}

VolumeMount

interface unstable
Since v4.0.0

VolumeMount describes a mounting of a Volume within a container.

Signature

interface VolumeMount {
mountPath: string;
mountPropagation?: string;
name: string;
readOnly?: boolean;
recursiveReadOnly?: string;
subPath?: string;
subPathExpr?: string;
}

VolumeMountStatus

interface unstable
Since v4.0.0

VolumeMountStatus shows status of volume mounts.

Signature

interface VolumeMountStatus {
mountPath: string;
name: string;
readOnly?: boolean;
recursiveReadOnly?: string;
}

VolumeProjection

interface unstable
Since v4.0.0

Projection that may be projected along with other supported volume types

Signature

interface VolumeProjection {
clusterTrustBundle?: ClusterTrustBundleProjection;
configMap?: ConfigMapProjection;
downwardAPI?: DownwardAPIProjection;
secret?: SecretProjection;
serviceAccountToken?: ServiceAccountTokenProjection;
}

VolumeResourceRequirements

interface unstable
Since v4.0.0

VolumeResourceRequirements describes the storage resource requirements for a volume.

Signature

interface VolumeResourceRequirements {
limits?: {
[name: string]: string;
};
requests?: {
[name: string]: string;
};
}
Since v4.0.0

Represents a vSphere volume resource.

Signature

interface VsphereVirtualDiskVolumeSource {
fsType?: string;
storagePolicyID?: string;
storagePolicyName?: string;
volumePath: string;
}

WeightedPodAffinityTerm

interface unstable
Since v4.0.0

The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s)

Signature

interface WeightedPodAffinityTerm {
podAffinityTerm: PodAffinityTerm;
weight: number;
}
Since v4.0.0

WindowsSecurityContextOptions contain Windows-specific options and credentials.

Signature

interface WindowsSecurityContextOptions {
gmsaCredentialSpec?: string;
gmsaCredentialSpecName?: string;
hostProcess?: boolean;
runAsUserName?: string;
}