Skip to content
Effect Days 2026 Early bird tickets

K8sTypes

Kubernetes resource types used by the cluster helpers.

119 exports Added in v4.0.0 Source

Models

Affinity interface

Added in v4.0.0 Source

Affinity is a group of affinity scheduling rules.

Signature

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

AppArmorProfile interface

Added in v4.0.0 Source

AppArmorProfile defines a pod or container's AppArmor settings.

Signature

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

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

Adds and removes POSIX capabilities from running containers.

Signature

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

CephFSVolumeSource interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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;
}

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

Selects a key from a ConfigMap.

Signature

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

ConfigMapProjection interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

ContainerPort represents a network port in a single container.

Signature

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

ContainerResizePolicy interface

Added in v4.0.0 Source

ContainerResizePolicy represents resource resize policy for the container.

Signature

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

ContainerState interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

ContainerStateRunning is a running state of a container.

Signature

interface ContainerStateRunning {
startedAt?: string;
}

ContainerStateTerminated interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

ContainerStateWaiting is a waiting state of a container.

Signature

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

ContainerStatus interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

DownwardAPIVolumeFile represents information to create the file containing the pod field

Signature

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

DownwardAPIVolumeSource interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

EnvFromSource represents the source of a set of ConfigMaps

Signature

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

EnvVar interface

Added in v4.0.0 Source

EnvVar represents an environment variable present in a Container.

Signature

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

EnvVarSource interface

Added in v4.0.0 Source

EnvVarSource represents a source for the value of an EnvVar.

Signature

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

EphemeralContainer interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Signature

interface EphemeralVolumeSource {
volumeClaimTemplate?: PersistentVolumeClaimTemplate;
}

ExecAction interface

Added in v4.0.0 Source

ExecAction describes a "run in container" action.

Signature

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

FCVolumeSource interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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;
}

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

GRPCAction specifies an action involving a gRPC service.

Signature

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

HostAlias interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

HostIP represents a single IP address allocated to the host.

Signature

interface HostIP {
ip?: string;
}

HostPathVolumeSource interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

HTTPHeader describes a custom header to be used in HTTP probes

Signature

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

ISCSIVolumeSource interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

Maps a string key to a path within a volume.

Signature

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

LabelSelector interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Signature

interface LocalObjectReference {
name?: string;
}

ManagedFieldsEntry interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

Node affinity is a group of node affinity scheduling rules.

Signature

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

NodeSelector interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

ObjectFieldSelector selects an APIVersioned field of an object.

Signature

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

ObjectMeta interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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;
}

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

Signature

interface PersistentVolumeClaimTemplate {
metadata?: ObjectMeta;
spec: PersistentVolumeClaimSpec;
}

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;
}

Represents a Photon Controller persistent disk resource.

Signature

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

Pod interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Signature

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

PodAffinityTerm interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Signature

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

PodCondition interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

PodDNSConfigOption defines DNS resolver options of a pod.

Signature

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

PodIP interface

Added in v4.0.0 Source

PodIP represents a single IP address allocated to the pod.

Signature

interface PodIP {
ip?: string;
}

PodOS interface

Added in v4.0.0 Source

PodOS defines the OS parameters of a pod.

Signature

interface PodOS {
name: string;
}

PodReadinessGate interface

Added in v4.0.0 Source

PodReadinessGate contains the reference to a pod condition

Signature

interface PodReadinessGate {
conditionType: string;
}

PodResourceClaim interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

PodSchedulingGate is associated to a Pod to guard its scheduling.

Signature

interface PodSchedulingGate {
name: string;
}

PodSecurityContext interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

PortworxVolumeSource represents a Portworx volume resource.

Signature

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

PreferredSchedulingTerm interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

Represents a projected volume source

Signature

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

Quantity type

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

ResourceClaim references one entry in PodSpec.ResourceClaims.

Signature

interface ResourceClaim {
name: string;
}

ResourceFieldSelector interface

Added in v4.0.0 Source

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

Signature

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

ResourceRequirements interface

Added in v4.0.0 Source

ResourceRequirements describes the compute resource requirements.

Signature

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

ScaleIOVolumeSource interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

SecretKeySelector selects a key of a Secret.

Signature

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

SecretProjection interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

SELinuxOptions are the labels to be applied to the container

Signature

interface SELinuxOptions {
level?: string;
role?: string;
type?: string;
user?: string;
}

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

Added in v4.0.0 Source

SleepAction describes a "sleep" action.

Signature

interface SleepAction {
seconds: number;
}

StorageOSVolumeSource interface

Added in v4.0.0 Source

Represents a StorageOS persistent volume resource.

Signature

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

Sysctl interface

Added in v4.0.0 Source

Sysctl defines a kernel parameter to be set

Signature

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

TCPSocketAction interface

Added in v4.0.0 Source

TCPSocketAction describes an action based on opening a socket

Signature

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

Time type

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Added in v4.0.0 Source

TypedObjectReference contains enough information to locate a typed referenced object.

Signature

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

Volume interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

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

Signature

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

VolumeMount interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

VolumeMountStatus shows status of volume mounts.

Signature

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

VolumeProjection interface

Added in v4.0.0 Source

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

Added in v4.0.0 Source

VolumeResourceRequirements describes the storage resource requirements for a volume.

Signature

interface VolumeResourceRequirements {
limits?: {
[name: string]: string;
};
requests?: {
[name: string]: string;
};
}

Represents a vSphere volume resource.

Signature

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

WeightedPodAffinityTerm interface

Added in v4.0.0 Source

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;
}

WindowsSecurityContextOptions contain Windows-specific options and credentials.

Signature

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