Help us shape the future of Go! Take the 2026 Go Developer Survey

k8s

package
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 28, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package k8s contains a partial set of Kubernetes-style API types used by Doki to talk to the embedded kubelet and to render pod specs.

Index

Constants

View Source
const (
	// DeploymentRecreate is the Deployment strategy type that kills all
	// existing pods before creating new ones.
	DeploymentRecreate = "Recreate"
	// DeploymentRollingUpdate is the Deployment strategy type that
	// replaces pods incrementally.
	DeploymentRollingUpdate = "RollingUpdate"
)
View Source
const (
	// PodPending indicates the pod has been accepted by the system
	// but one or more containers have not yet started.
	PodPending = "Pending"
	// PodRunning indicates the pod has been bound to a node and all
	// of its containers have been created.
	PodRunning = "Running"
	// PodSucceeded indicates that all containers in the pod have
	// voluntarily terminated with a zero exit code.
	PodSucceeded = "Succeeded"
	// PodFailed indicates that at least one container has terminated
	// in a non-zero state or been terminated by the system.
	PodFailed = "Failed"
	// PodUnknown indicates the state of the pod could not be obtained.
	PodUnknown = "Unknown"
)
View Source
const (
	ServiceTypeClusterIP    = "ClusterIP"
	ServiceTypeNodePort     = "NodePort"
	ServiceTypeLoadBalancer = "LoadBalancer"
	ServiceTypeExternalName = "ExternalName"
)

ServiceTypeClusterIP is the Service type for cluster-internal IP access only. ServiceTypeNodePort exposes the Service on each node's IP at a static port. ServiceTypeLoadBalancer exposes the Service externally using a cloud provider's load balancer. ServiceTypeExternalName maps the Service to an external DNS name.

View Source
const (
	SecretTypeOpaque              = "Opaque"
	SecretTypeServiceAccountToken = "kubernetes.io/service-account-token"
	SecretTypeDockercfg           = "kubernetes.io/dockercfg"
	SecretTypeDockerConfigJSON    = "kubernetes.io/dockerconfigjson"
	SecretTypeBasicAuth           = "kubernetes.io/basic-auth"
	SecretTypeSSHAuth             = "kubernetes.io/ssh-auth"
	SecretTypeTLS                 = "kubernetes.io/tls"
	SecretTypeBootstrapToken      = "bootstrap.kubernetes.io/token"
)

SecretTypeOpaque is the default Secret type for arbitrary user-defined data. SecretTypeServiceAccountToken stores a ServiceAccount token. SecretTypeDockercfg stores a legacy Docker registry credential. SecretTypeDockerConfigJSON stores a Docker registry credential in JSON format. SecretTypeBasicAuth stores credentials for basic authentication. SecretTypeSSHAuth stores credentials for SSH authentication. SecretTypeTLS stores TLS certificates and keys. SecretTypeBootstrapToken stores bootstrap tokens for node registration.

View Source
const (
	NamespaceActive      = "Active"
	NamespaceTerminating = "Terminating"
)

NamespaceActive indicates the Namespace is active. NamespaceTerminating indicates the Namespace is being terminated.

Variables

This section is empty.

Functions

This section is empty.

Types

type Affinity

type Affinity struct {
	NodeAffinity    *NodeAffinity    `json:"nodeAffinity,omitempty" yaml:"nodeAffinity,omitempty"`
	PodAffinity     *PodAffinity     `json:"podAffinity,omitempty" yaml:"podAffinity,omitempty"`
	PodAntiAffinity *PodAntiAffinity `json:"podAntiAffinity,omitempty" yaml:"podAntiAffinity,omitempty"`
}

Affinity represents the scheduling affinity rules for a pod, broken down into node, pod and pod-anti affinity.

type Capabilities

type Capabilities struct {
	Add  []string `json:"add,omitempty" yaml:"add,omitempty"`
	Drop []string `json:"drop,omitempty" yaml:"drop,omitempty"`
}

Capabilities represents the set of Linux capabilities to add or drop for a container.

type Condition

type Condition struct {
	Type               string    `json:"type" yaml:"type"`
	Status             string    `json:"status" yaml:"status"`
	LastTransitionTime time.Time `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"`
	Reason             string    `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message            string    `json:"message,omitempty" yaml:"message,omitempty"`
}

Condition represents a generic status condition attached to a Kubernetes-style resource, capturing the last transition and reason.

type ConfigMap

type ConfigMap struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Data       map[string]string `json:"data,omitempty" yaml:"data,omitempty"`
	BinaryData map[string][]byte `json:"binaryData,omitempty" yaml:"binaryData,omitempty"`
	Immutable  *bool             `json:"immutable,omitempty" yaml:"immutable,omitempty"`
}

ConfigMap represents a Kubernetes ConfigMap resource containing configuration data.

type ConfigMapEnvSource

type ConfigMapEnvSource struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Optional             *bool `json:"optional,omitempty" yaml:"optional,omitempty"`
}

ConfigMapEnvSource represents a reference to a ConfigMap whose keys are imported as environment variables.

type ConfigMapKeySelector

type ConfigMapKeySelector struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Key                  string `json:"key" yaml:"key"`
	Optional             *bool  `json:"optional,omitempty" yaml:"optional,omitempty"`
}

ConfigMapKeySelector represents a reference to a specific key in a ConfigMap whose value populates an env var.

type ConfigMapList

type ConfigMapList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []ConfigMap `json:"items" yaml:"items"`
}

ConfigMapList is a list of ConfigMap resources.

type ConfigMapProjection

type ConfigMapProjection struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Items                []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	Optional             *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

ConfigMapProjection represents a ConfigMap to project into a projected volume, with optional per-key paths.

type ConfigMapVolumeSource

type ConfigMapVolumeSource struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Items                []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	DefaultMode          *int32      `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
	Optional             *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

ConfigMapVolumeSource represents a ConfigMap projected into a pod as a volume, optionally with per-key paths and file modes.

type Container

type Container struct {
	Name            string               `json:"name" yaml:"name"`
	Image           string               `json:"image" yaml:"image"`
	Command         []string             `json:"command,omitempty" yaml:"command,omitempty"`
	Args            []string             `json:"args,omitempty" yaml:"args,omitempty"`
	WorkingDir      string               `json:"workingDir,omitempty" yaml:"workingDir,omitempty"`
	Ports           []ContainerPort      `json:"ports,omitempty" yaml:"ports,omitempty"`
	Env             []EnvVar             `json:"env,omitempty" yaml:"env,omitempty"`
	EnvFrom         []EnvFromSource      `json:"envFrom,omitempty" yaml:"envFrom,omitempty"`
	VolumeMounts    []VolumeMount        `json:"volumeMounts,omitempty" yaml:"volumeMounts,omitempty"`
	Resources       ResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"`
	LivenessProbe   *Probe               `json:"livenessProbe,omitempty" yaml:"livenessProbe,omitempty"`
	ReadinessProbe  *Probe               `json:"readinessProbe,omitempty" yaml:"readinessProbe,omitempty"`
	StartupProbe    *Probe               `json:"startupProbe,omitempty" yaml:"startupProbe,omitempty"`
	Lifecycle       *Lifecycle           `json:"lifecycle,omitempty" yaml:"lifecycle,omitempty"`
	SecurityContext *SecurityContext     `json:"securityContext,omitempty" yaml:"securityContext,omitempty"`
	ImagePullPolicy string               `json:"imagePullPolicy,omitempty" yaml:"imagePullPolicy,omitempty"`
	Stdin           bool                 `json:"stdin,omitempty" yaml:"stdin,omitempty"`
	StdinOnce       bool                 `json:"stdinOnce,omitempty" yaml:"stdinOnce,omitempty"`
	TTY             bool                 `json:"tty,omitempty" yaml:"tty,omitempty"`
}

Container represents a single container running inside a Pod, including its image, command, ports, probes, resource requirements and security context.

type ContainerImage

type ContainerImage struct {
	Names     []string `json:"names,omitempty" yaml:"names,omitempty"`
	SizeBytes int64    `json:"sizeBytes,omitempty" yaml:"sizeBytes,omitempty"`
}

ContainerImage represents a container image available on a Node.

type ContainerPort

type ContainerPort struct {
	Name          string `json:"name,omitempty" yaml:"name,omitempty"`
	ContainerPort int32  `json:"containerPort" yaml:"containerPort"`
	HostPort      int32  `json:"hostPort,omitempty" yaml:"hostPort,omitempty"`
	Protocol      string `json:"protocol,omitempty" yaml:"protocol,omitempty"`
	HostIP        string `json:"hostIP,omitempty" yaml:"hostIP,omitempty"`
}

ContainerPort represents a network port exposed by a container inside a Pod, with optional host binding and protocol.

type ContainerState

type ContainerState struct {
	Waiting    *ContainerStateWaiting    `json:"waiting,omitempty" yaml:"waiting,omitempty"`
	Running    *ContainerStateRunning    `json:"running,omitempty" yaml:"running,omitempty"`
	Terminated *ContainerStateTerminated `json:"terminated,omitempty" yaml:"terminated,omitempty"`
}

ContainerState represents the lifecycle state of a container: waiting, running or terminated.

type ContainerStateRunning

type ContainerStateRunning struct {
	StartedAt time.Time `json:"startedAt,omitempty" yaml:"startedAt,omitempty"`
}

ContainerStateRunning represents a container that is currently running, exposing its start time.

type ContainerStateTerminated

type ContainerStateTerminated struct {
	ExitCode    int32     `json:"exitCode" yaml:"exitCode"`
	Signal      int32     `json:"signal,omitempty" yaml:"signal,omitempty"`
	Reason      string    `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message     string    `json:"message,omitempty" yaml:"message,omitempty"`
	StartedAt   time.Time `json:"startedAt,omitempty" yaml:"startedAt,omitempty"`
	FinishedAt  time.Time `json:"finishedAt,omitempty" yaml:"finishedAt,omitempty"`
	ContainerID string    `json:"containerID,omitempty" yaml:"containerID,omitempty"`
}

ContainerStateTerminated represents a container that has terminated, including its exit code, signal and timing information.

type ContainerStateWaiting

type ContainerStateWaiting struct {
	Reason  string `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message string `json:"message,omitempty" yaml:"message,omitempty"`
}

ContainerStateWaiting represents a container that is in the waiting state, including the reason and a human-readable message.

type ContainerStatus

type ContainerStatus struct {
	Name                 string         `json:"name" yaml:"name"`
	State                ContainerState `json:"state,omitempty" yaml:"state,omitempty"`
	LastTerminationState ContainerState `json:"lastState,omitempty" yaml:"lastState,omitempty"`
	Ready                bool           `json:"ready" yaml:"ready"`
	RestartCount         int32          `json:"restartCount" yaml:"restartCount"`
	Image                string         `json:"image" yaml:"image"`
	ImageID              string         `json:"imageID" yaml:"imageID"`
	ContainerID          string         `json:"containerID,omitempty" yaml:"containerID,omitempty"`
	Started              *bool          `json:"started,omitempty" yaml:"started,omitempty"`
	AllocatedResources   ResourceList   `json:"allocatedResources,omitempty" yaml:"allocatedResources,omitempty"`
}

ContainerStatus represents the observed state of a single container inside a pod, including its current and last-termination state.

type CronJob

type CronJob struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       CronJobSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     CronJobStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

CronJob represents a Kubernetes-style CronJob resource that runs Jobs on a recurring schedule.

type CronJobList

type CronJobList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []CronJob `json:"items" yaml:"items"`
}

CronJobList represents a collection of CronJob resources returned in a list response.

type CronJobSpec

type CronJobSpec struct {
	Schedule                   string          `json:"schedule" yaml:"schedule"`
	TimeZone                   *string         `json:"timeZone,omitempty" yaml:"timeZone,omitempty"`
	StartingDeadlineSeconds    *int64          `json:"startingDeadlineSeconds,omitempty" yaml:"startingDeadlineSeconds,omitempty"`
	ConcurrencyPolicy          string          `json:"concurrencyPolicy,omitempty" yaml:"concurrencyPolicy,omitempty"`
	Suspend                    *bool           `json:"suspend,omitempty" yaml:"suspend,omitempty"`
	JobTemplate                JobTemplateSpec `json:"jobTemplate" yaml:"jobTemplate"`
	SuccessfulJobsHistoryLimit *int32          `json:"successfulJobsHistoryLimit,omitempty" yaml:"successfulJobsHistoryLimit,omitempty"`
	FailedJobsHistoryLimit     *int32          `json:"failedJobsHistoryLimit,omitempty" yaml:"failedJobsHistoryLimit,omitempty"`
}

CronJobSpec represents the desired schedule and template for a CronJob, including concurrency policy and history limits.

type CronJobStatus

type CronJobStatus struct {
	Active             []ObjectReference `json:"active,omitempty" yaml:"active,omitempty"`
	LastScheduleTime   *time.Time        `json:"lastScheduleTime,omitempty" yaml:"lastScheduleTime,omitempty"`
	LastSuccessfulTime *time.Time        `json:"lastSuccessfulTime,omitempty" yaml:"lastSuccessfulTime,omitempty"`
}

CronJobStatus represents the observed state of a CronJob, including a list of active Jobs and the last successful schedule time.

type DaemonEndpoint

type DaemonEndpoint struct {
	Port int32 `json:"port" yaml:"port"`
}

DaemonEndpoint represents a TCP endpoint of a daemon running on a Node.

type DaemonSet

type DaemonSet struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       DaemonSetSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     DaemonSetStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

DaemonSet represents a Kubernetes-style DaemonSet resource that ensures a copy of a pod runs on all (or selected) nodes.

type DaemonSetList

type DaemonSetList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []DaemonSet `json:"items" yaml:"items"`
}

DaemonSetList represents a collection of DaemonSet resources returned in a list response.

type DaemonSetSpec

type DaemonSetSpec struct {
	Selector             *LabelSelector          `json:"selector" yaml:"selector"`
	Template             PodTemplateSpec         `json:"template" yaml:"template"`
	UpdateStrategy       DaemonSetUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"`
	MinReadySeconds      int32                   `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty"`
	RevisionHistoryLimit *int32                  `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"`
}

DaemonSetSpec represents the desired state of a DaemonSet, including the pod template, node selector and update strategy.

type DaemonSetStatus

type DaemonSetStatus struct {
	CurrentNumberScheduled int32       `json:"currentNumberScheduled" yaml:"currentNumberScheduled"`
	NumberMisscheduled     int32       `json:"numberMisscheduled" yaml:"numberMisscheduled"`
	DesiredNumberScheduled int32       `json:"desiredNumberScheduled" yaml:"desiredNumberScheduled"`
	NumberReady            int32       `json:"numberReady" yaml:"numberReady"`
	ObservedGeneration     int64       `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"`
	UpdatedNumberScheduled int32       `json:"updatedNumberScheduled,omitempty" yaml:"updatedNumberScheduled,omitempty"`
	NumberAvailable        int32       `json:"numberAvailable,omitempty" yaml:"numberAvailable,omitempty"`
	NumberUnavailable      int32       `json:"numberUnavailable,omitempty" yaml:"numberUnavailable,omitempty"`
	CollisionCount         *int32      `json:"collisionCount,omitempty" yaml:"collisionCount,omitempty"`
	Conditions             []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	DaemonSetsAllowed      int32       `json:"daemonSetsAllowed,omitempty" yaml:"daemonSetsAllowed,omitempty"`
}

DaemonSetStatus represents the observed state of a DaemonSet, reporting the number of pods scheduled, ready and available on nodes.

type DaemonSetUpdateStrategy

type DaemonSetUpdateStrategy struct {
	Type          string                  `json:"type,omitempty" yaml:"type,omitempty"`
	RollingUpdate *RollingUpdateDaemonSet `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty"`
}

DaemonSetUpdateStrategy represents the strategy a DaemonSet uses to replace existing pods (rolling update or on delete).

type Deployment

type Deployment struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       DeploymentSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     DeploymentStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Deployment represents a Kubernetes-style Deployment resource that manages a replicated set of pods via a pod template.

type DeploymentCondition

type DeploymentCondition struct {
	Type               string    `json:"type" yaml:"type"`
	Status             string    `json:"status" yaml:"status"`
	LastUpdateTime     time.Time `json:"lastUpdateTime,omitempty" yaml:"lastUpdateTime,omitempty"`
	LastTransitionTime time.Time `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"`
	Reason             string    `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message            string    `json:"message,omitempty" yaml:"message,omitempty"`
}

DeploymentCondition represents a single condition entry in a Deployment's status subresource.

type DeploymentList

type DeploymentList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Deployment `json:"items" yaml:"items"`
}

DeploymentList represents a collection of Deployment resources returned in a list response.

type DeploymentSpec

type DeploymentSpec struct {
	Replicas                *int32             `json:"replicas,omitempty" yaml:"replicas,omitempty"`
	Selector                *LabelSelector     `json:"selector" yaml:"selector"`
	Template                PodTemplateSpec    `json:"template" yaml:"template"`
	Strategy                DeploymentStrategy `json:"strategy,omitempty" yaml:"strategy,omitempty"`
	MinReadySeconds         int32              `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty"`
	RevisionHistoryLimit    *int32             `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"`
	Paused                  bool               `json:"paused,omitempty" yaml:"paused,omitempty"`
	ProgressDeadlineSeconds *int32             `json:"progressDeadlineSeconds,omitempty" yaml:"progressDeadlineSeconds,omitempty"`
}

DeploymentSpec represents the desired state of a Deployment: replica count, label selector, pod template and rollout strategy.

type DeploymentStatus

type DeploymentStatus struct {
	ObservedGeneration  int64                 `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"`
	Replicas            int32                 `json:"replicas,omitempty" yaml:"replicas,omitempty"`
	UpdatedReplicas     int32                 `json:"updatedReplicas,omitempty" yaml:"updatedReplicas,omitempty"`
	ReadyReplicas       int32                 `json:"readyReplicas,omitempty" yaml:"readyReplicas,omitempty"`
	AvailableReplicas   int32                 `json:"availableReplicas,omitempty" yaml:"availableReplicas,omitempty"`
	UnavailableReplicas int32                 `json:"unavailableReplicas,omitempty" yaml:"unavailableReplicas,omitempty"`
	Conditions          []DeploymentCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	CollisionCount      *int32                `json:"collisionCount,omitempty" yaml:"collisionCount,omitempty"`
}

DeploymentStatus represents the observed state of a Deployment, including the counts of replicas in each lifecycle phase.

type DeploymentStrategy

type DeploymentStrategy struct {
	Type          string                   `json:"type,omitempty" yaml:"type,omitempty"`
	RollingUpdate *RollingUpdateDeployment `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty"`
}

DeploymentStrategy represents the strategy used by a Deployment to replace existing pods with new ones (recreate or rolling update).

type DownwardAPIProjection

type DownwardAPIProjection struct {
	Items []DownwardAPIVolumeFile `json:"items,omitempty" yaml:"items,omitempty"`
}

DownwardAPIProjection represents a list of pod or container fields to expose in a projected volume via the Downward API.

type DownwardAPIVolumeFile

type DownwardAPIVolumeFile struct {
	Path             string                 `json:"path" yaml:"path"`
	FieldRef         *ObjectFieldSelector   `json:"fieldRef,omitempty" yaml:"fieldRef,omitempty"`
	ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty" yaml:"resourceFieldRef,omitempty"`
	Mode             *int32                 `json:"mode,omitempty" yaml:"mode,omitempty"`
}

DownwardAPIVolumeFile represents a single file written into a DownwardAPI volume, sourced from a pod field or a container resource.

type DownwardAPIVolumeSource

type DownwardAPIVolumeSource struct {
	Items       []DownwardAPIVolumeFile `json:"items,omitempty" yaml:"items,omitempty"`
	DefaultMode *int32                  `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
}

DownwardAPIVolumeSource represents the source of a volume populated with pod- or container-scoped metadata via the Downward API.

type EmptyDirVolumeSource

type EmptyDirVolumeSource struct {
	Medium    string `json:"medium,omitempty" yaml:"medium,omitempty"`
	SizeLimit string `json:"sizeLimit,omitempty" yaml:"sizeLimit,omitempty"`
}

EmptyDirVolumeSource represents a temporary empty directory that lives for the duration of a pod, optionally backed by a medium.

type EndpointAddress

type EndpointAddress struct {
	IP        string           `json:"ip" yaml:"ip"`
	Hostname  string           `json:"hostname,omitempty" yaml:"hostname,omitempty"`
	NodeName  *string          `json:"nodeName,omitempty" yaml:"nodeName,omitempty"`
	TargetRef *ObjectReference `json:"targetRef,omitempty" yaml:"targetRef,omitempty"`
}

EndpointAddress represents a single address in an EndpointSubset.

type EndpointPort

type EndpointPort struct {
	Name        string  `json:"name,omitempty" yaml:"name,omitempty"`
	Port        int32   `json:"port" yaml:"port"`
	Protocol    string  `json:"protocol,omitempty" yaml:"protocol,omitempty"`
	AppProtocol *string `json:"appProtocol,omitempty" yaml:"appProtocol,omitempty"`
}

EndpointPort represents a port in an EndpointSubset.

type EndpointSubset

type EndpointSubset struct {
	Addresses         []EndpointAddress `json:"addresses,omitempty" yaml:"addresses,omitempty"`
	NotReadyAddresses []EndpointAddress `json:"notReadyAddresses,omitempty" yaml:"notReadyAddresses,omitempty"`
	Ports             []EndpointPort    `json:"ports,omitempty" yaml:"ports,omitempty"`
}

EndpointSubset represents a group of addresses with a common set of ports.

type Endpoints

type Endpoints struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Subsets    []EndpointSubset `json:"subsets,omitempty" yaml:"subsets,omitempty"`
}

Endpoints represents a Kubernetes Endpoints resource.

type EnvFromSource

type EnvFromSource struct {
	Prefix       string              `json:"prefix,omitempty" yaml:"prefix,omitempty"`
	ConfigMapRef *ConfigMapEnvSource `json:"configMapRef,omitempty" yaml:"configMapRef,omitempty"`
	SecretRef    *SecretEnvSource    `json:"secretRef,omitempty" yaml:"secretRef,omitempty"`
}

EnvFromSource represents a source of environment variables (a ConfigMap or Secret) to import in bulk into a container.

type EnvVar

type EnvVar struct {
	Name      string        `json:"name" yaml:"name"`
	Value     string        `json:"value,omitempty" yaml:"value,omitempty"`
	ValueFrom *EnvVarSource `json:"valueFrom,omitempty" yaml:"valueFrom,omitempty"`
}

EnvVar represents a single environment variable injected into a container, either as a literal value or sourced from a referenced object.

type EnvVarSource

type EnvVarSource struct {
	FieldRef         *ObjectFieldSelector   `json:"fieldRef,omitempty" yaml:"fieldRef,omitempty"`
	ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty" yaml:"resourceFieldRef,omitempty"`
	ConfigMapKeyRef  *ConfigMapKeySelector  `json:"configMapKeyRef,omitempty" yaml:"configMapKeyRef,omitempty"`
	SecretKeyRef     *SecretKeySelector     `json:"secretKeyRef,omitempty" yaml:"secretKeyRef,omitempty"`
}

EnvVarSource represents a source for an environment variable value: a pod field, a resource field, or a key in a ConfigMap or Secret.

type Event

type Event struct {
	TypeMeta            `json:",inline" yaml:",inline"`
	ObjectMeta          `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	InvolvedObject      ObjectReference `json:"involvedObject" yaml:"involvedObject"`
	Reason              string          `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message             string          `json:"message,omitempty" yaml:"message,omitempty"`
	Source              EventSource     `json:"source,omitempty" yaml:"source,omitempty"`
	FirstTimestamp      time.Time       `json:"firstTimestamp,omitempty" yaml:"firstTimestamp,omitempty"`
	LastTimestamp       time.Time       `json:"lastTimestamp,omitempty" yaml:"lastTimestamp,omitempty"`
	Count               int32           `json:"count,omitempty" yaml:"count,omitempty"`
	Type                string          `json:"type,omitempty" yaml:"type,omitempty"`
	Action              string          `json:"action,omitempty" yaml:"action,omitempty"`
	ReportingController string          `json:"reportingController,omitempty" yaml:"reportingController,omitempty"`
	ReportingInstance   string          `json:"reportingInstance,omitempty" yaml:"reportingInstance,omitempty"`
}

Event represents a Kubernetes Event resource.

type EventSource

type EventSource struct {
	Component string `json:"component,omitempty" yaml:"component,omitempty"`
	Host      string `json:"host,omitempty" yaml:"host,omitempty"`
}

EventSource represents the source of a Kubernetes Event.

type ExecAction

type ExecAction struct {
	Command []string `json:"command,omitempty" yaml:"command,omitempty"`
}

ExecAction represents a command executed inside a container, used for probes and lifecycle hooks.

type GRPCAction

type GRPCAction struct {
	Port    int32   `json:"port" yaml:"port"`
	Service *string `json:"service,omitempty" yaml:"service,omitempty"`
}

GRPCAction represents a gRPC health-check probe against a service exposed by a container.

type HTTPGetAction

type HTTPGetAction struct {
	Path        string       `json:"path,omitempty" yaml:"path,omitempty"`
	Port        IntOrString  `json:"port" yaml:"port"`
	Host        string       `json:"host,omitempty" yaml:"host,omitempty"`
	Scheme      string       `json:"scheme,omitempty" yaml:"scheme,omitempty"`
	HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty" yaml:"httpHeaders,omitempty"`
}

HTTPGetAction represents an HTTP GET probe or hook against a path and port inside (or outside) the container.

type HTTPHeader

type HTTPHeader struct {
	Name  string `json:"name" yaml:"name"`
	Value string `json:"value" yaml:"value"`
}

HTTPHeader represents a custom header attached to an HTTP probe or lifecycle HTTP request.

type HostAlias

type HostAlias struct {
	IP        string   `json:"ip" yaml:"ip"`
	Hostnames []string `json:"hostnames,omitempty" yaml:"hostnames,omitempty"`
}

HostAlias represents an entry added to a pod's /etc/hosts mapping an IP to one or more hostnames.

type HostIP

type HostIP struct {
	IP string `json:"ip" yaml:"ip"`
}

HostIP represents the IP address of the host on which a pod is running, as exposed in PodStatus.

type HostPathVolumeSource

type HostPathVolumeSource struct {
	Path string  `json:"path" yaml:"path"`
	Type *string `json:"type,omitempty" yaml:"type,omitempty"`
}

HostPathVolumeSource represents a host filesystem path mounted into a pod, with an optional type qualifier.

type IntOrString

type IntOrString struct {
	Type   int    `json:"type"`
	IntVal int32  `json:"intVal,omitempty"`
	StrVal string `json:"strVal,omitempty"`
}

IntOrString represents a value that can be encoded either as an integer or a string (for fields like ports or quantities).

type Job

type Job struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       JobSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     JobStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Job represents a Kubernetes-style Job resource that runs a set of pods to completion as a one-off task.

type JobList

type JobList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Job `json:"items" yaml:"items"`
}

JobList represents a collection of Job resources returned in a list response.

type JobSpec

type JobSpec struct {
	Parallelism             *int32            `json:"parallelism,omitempty" yaml:"parallelism,omitempty"`
	Completions             *int32            `json:"completions,omitempty" yaml:"completions,omitempty"`
	ActiveDeadlineSeconds   *int64            `json:"activeDeadlineSeconds,omitempty" yaml:"activeDeadlineSeconds,omitempty"`
	PodFailurePolicy        *PodFailurePolicy `json:"podFailurePolicy,omitempty" yaml:"podFailurePolicy,omitempty"`
	BackoffLimit            *int32            `json:"backoffLimit,omitempty" yaml:"backoffLimit,omitempty"`
	Selector                *LabelSelector    `json:"selector,omitempty" yaml:"selector,omitempty"`
	ManualSelector          *bool             `json:"manualSelector,omitempty" yaml:"manualSelector,omitempty"`
	Template                PodTemplateSpec   `json:"template" yaml:"template"`
	TTLSecondsAfterFinished *int32            `json:"ttlSecondsAfterFinished,omitempty" yaml:"ttlSecondsAfterFinished,omitempty"`
	CompletionMode          *string           `json:"completionMode,omitempty" yaml:"completionMode,omitempty"`
	Suspend                 *bool             `json:"suspend,omitempty" yaml:"suspend,omitempty"`
}

JobSpec represents the desired state of a Job: parallelism, completion count, backoff limit and pod template.

type JobStatus

type JobStatus struct {
	Conditions              []Condition              `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	StartTime               *time.Time               `json:"startTime,omitempty" yaml:"startTime,omitempty"`
	CompletionTime          *time.Time               `json:"completionTime,omitempty" yaml:"completionTime,omitempty"`
	Active                  int32                    `json:"active,omitempty" yaml:"active,omitempty"`
	Succeeded               int32                    `json:"succeeded,omitempty" yaml:"succeeded,omitempty"`
	Failed                  int32                    `json:"failed,omitempty" yaml:"failed,omitempty"`
	CompletedIndexes        string                   `json:"completedIndexes,omitempty" yaml:"completedIndexes,omitempty"`
	UncountedTerminatedPods *UncountedTerminatedPods `json:"uncountedTerminatedPods,omitempty" yaml:"uncountedTerminatedPods,omitempty"`
	Ready                   *int32                   `json:"ready,omitempty" yaml:"ready,omitempty"`
}

JobStatus represents the observed state of a Job, tracking active, succeeded and failed pod counts and timing information.

type JobTemplateSpec

type JobTemplateSpec struct {
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       JobSpec `json:"spec,omitempty" yaml:"spec,omitempty"`
}

JobTemplateSpec represents the template used by a CronJob to create new Jobs on each scheduled run.

type KeyToPath

type KeyToPath struct {
	Key  string `json:"key" yaml:"key"`
	Path string `json:"path" yaml:"path"`
	Mode *int32 `json:"mode,omitempty" yaml:"mode,omitempty"`
}

KeyToPath represents a mapping from a key in a ConfigMap or Secret to a specific file path inside a volume.

type LabelSelector

type LabelSelector struct {
	MatchLabels      map[string]string          `json:"matchLabels,omitempty" yaml:"matchLabels,omitempty"`
	MatchExpressions []LabelSelectorRequirement `json:"matchExpressions,omitempty" yaml:"matchExpressions,omitempty"`
}

LabelSelector represents a label-based selection criterion used to match a set of Kubernetes-style resources.

type LabelSelectorRequirement

type LabelSelectorRequirement struct {
	Key      string   `json:"key" yaml:"key"`
	Operator string   `json:"operator" yaml:"operator"`
	Values   []string `json:"values,omitempty" yaml:"values,omitempty"`
}

LabelSelectorRequirement represents a single label-key/operator/values expression that composes a LabelSelector.

type Lifecycle

type Lifecycle struct {
	PostStart *LifecycleHandler `json:"postStart,omitempty" yaml:"postStart,omitempty"`
	PreStop   *LifecycleHandler `json:"preStop,omitempty" yaml:"preStop,omitempty"`
}

Lifecycle represents the lifecycle hooks (postStart, preStop) that a container can register with the runtime.

type LifecycleHandler

type LifecycleHandler struct {
	Exec      *ExecAction      `json:"exec,omitempty" yaml:"exec,omitempty"`
	HTTPGet   *HTTPGetAction   `json:"httpGet,omitempty" yaml:"httpGet,omitempty"`
	TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty" yaml:"tcpSocket,omitempty"`
}

LifecycleHandler represents a single lifecycle hook action, using one of exec, HTTP GET or TCP socket invocation modes.

type ListMeta

type ListMeta struct {
	ResourceVersion string `json:"resourceVersion,omitempty" yaml:"resourceVersion,omitempty"`
	Continue        string `json:"continue,omitempty" yaml:"continue,omitempty"`
}

ListMeta represents the pagination metadata returned with collection responses (resource version and continuation token).

type LoadBalancerIngress

type LoadBalancerIngress struct {
	IP       string       `json:"ip,omitempty" yaml:"ip,omitempty"`
	Hostname string       `json:"hostname,omitempty" yaml:"hostname,omitempty"`
	IPMode   *string      `json:"ipMode,omitempty" yaml:"ipMode,omitempty"`
	Ports    []PortStatus `json:"ports,omitempty" yaml:"ports,omitempty"`
}

LoadBalancerIngress represents an ingress point for a load balancer.

type LoadBalancerStatus

type LoadBalancerStatus struct {
	Ingress []LoadBalancerIngress `json:"ingress,omitempty" yaml:"ingress,omitempty"`
}

LoadBalancerStatus represents the status of a load balancer assigned to a Service.

type LocalObjectReference

type LocalObjectReference struct {
	Name string `json:"name,omitempty" yaml:"name,omitempty"`
}

LocalObjectReference represents a reference to another object in the same namespace, identified by its name only.

type NFSVolumeSource

type NFSVolumeSource struct {
	Server   string `json:"server" yaml:"server"`
	Path     string `json:"path" yaml:"path"`
	ReadOnly bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
}

NFSVolumeSource represents an NFS mount that backs a volume.

type Namespace

type Namespace struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       NamespaceSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     NamespaceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Namespace represents a Kubernetes Namespace resource.

type NamespaceList

type NamespaceList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Namespace `json:"items" yaml:"items"`
}

NamespaceList is a list of Namespace resources.

type NamespaceSpec

type NamespaceSpec struct {
	Finalizers []string `json:"finalizers,omitempty" yaml:"finalizers,omitempty"`
}

NamespaceSpec defines the desired state of a Namespace.

type NamespaceStatus

type NamespaceStatus struct {
	Phase      string      `json:"phase,omitempty" yaml:"phase,omitempty"`
	Conditions []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

NamespaceStatus represents the observed state of a Namespace.

type Node

type Node struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       NodeSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     NodeStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Node represents a Kubernetes Node resource.

type NodeAddress

type NodeAddress struct {
	Type    string `json:"type" yaml:"type"`
	Address string `json:"address" yaml:"address"`
}

NodeAddress represents a network address of a Node.

type NodeAffinity

type NodeAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution  *NodeSelector             `` /* 127-byte string literal not displayed */
	PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `` /* 129-byte string literal not displayed */
}

NodeAffinity represents the node affinity rules applied to a pod during scheduling.

type NodeCondition

type NodeCondition struct {
	Type               string    `json:"type" yaml:"type"`
	Status             string    `json:"status" yaml:"status"`
	LastHeartbeatTime  time.Time `json:"lastHeartbeatTime,omitempty" yaml:"lastHeartbeatTime,omitempty"`
	LastTransitionTime time.Time `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"`
	Reason             string    `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message            string    `json:"message,omitempty" yaml:"message,omitempty"`
}

NodeCondition represents a condition observed on a Node.

type NodeDaemonEndpoints

type NodeDaemonEndpoints struct {
	KubeletEndpoint DaemonEndpoint `json:"kubeletEndpoint,omitempty" yaml:"kubeletEndpoint,omitempty"`
}

NodeDaemonEndpoints represents the daemon endpoints exposed by a Node.

type NodeList

type NodeList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Node `json:"items" yaml:"items"`
}

NodeList is a list of Node resources.

type NodeSelector

type NodeSelector struct {
	NodeSelectorTerms []NodeSelectorTerm `json:"nodeSelectorTerms" yaml:"nodeSelectorTerms"`
}

NodeSelector represents a list of node selector terms, any of which must be satisfied for a pod to be scheduled on a node.

type NodeSelectorRequirement

type NodeSelectorRequirement struct {
	Key      string   `json:"key" yaml:"key"`
	Operator string   `json:"operator" yaml:"operator"`
	Values   []string `json:"values,omitempty" yaml:"values,omitempty"`
}

NodeSelectorRequirement represents a single key/operator/values rule used to match a node label or field.

type NodeSelectorTerm

type NodeSelectorTerm struct {
	MatchExpressions []NodeSelectorRequirement `json:"matchExpressions,omitempty" yaml:"matchExpressions,omitempty"`
	MatchFields      []NodeSelectorRequirement `json:"matchFields,omitempty" yaml:"matchFields,omitempty"`
}

NodeSelectorTerm represents a single term in a NodeSelector, with a set of match expressions and field match requirements.

type NodeSpec

type NodeSpec struct {
	PodCIDR       string   `json:"podCIDR,omitempty" yaml:"podCIDR,omitempty"`
	PodCIDRs      []string `json:"podCIDRs,omitempty" yaml:"podCIDRs,omitempty"`
	ProviderID    string   `json:"providerID,omitempty" yaml:"providerID,omitempty"`
	Unschedulable bool     `json:"unschedulable,omitempty" yaml:"unschedulable,omitempty"`
	Taints        []Taint  `json:"taints,omitempty" yaml:"taints,omitempty"`
}

NodeSpec defines the desired state of a Node.

type NodeStatus

type NodeStatus struct {
	Capacity        ResourceList        `json:"capacity,omitempty" yaml:"capacity,omitempty"`
	Allocatable     ResourceList        `json:"allocatable,omitempty" yaml:"allocatable,omitempty"`
	Phase           string              `json:"phase,omitempty" yaml:"phase,omitempty"`
	Conditions      []NodeCondition     `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	Addresses       []NodeAddress       `json:"addresses,omitempty" yaml:"addresses,omitempty"`
	NodeInfo        NodeSystemInfo      `json:"nodeInfo,omitempty" yaml:"nodeInfo,omitempty"`
	Images          []ContainerImage    `json:"images,omitempty" yaml:"images,omitempty"`
	DaemonEndpoints NodeDaemonEndpoints `json:"daemonEndpoints,omitempty" yaml:"daemonEndpoints,omitempty"`
}

NodeStatus represents the observed state of a Node.

type NodeSystemInfo

type NodeSystemInfo struct {
	MachineID               string `json:"machineID" yaml:"machineID"`
	SystemUUID              string `json:"systemUUID" yaml:"systemUUID"`
	BootID                  string `json:"bootID" yaml:"bootID"`
	KernelVersion           string `json:"kernelVersion" yaml:"kernelVersion"`
	OSImage                 string `json:"osImage" yaml:"osImage"`
	ContainerRuntimeVersion string `json:"containerRuntimeVersion" yaml:"containerRuntimeVersion"`
	KubeletVersion          string `json:"kubeletVersion" yaml:"kubeletVersion"`
	KubeProxyVersion        string `json:"kubeProxyVersion" yaml:"kubeProxyVersion"`
	OperatingSystem         string `json:"operatingSystem" yaml:"operatingSystem"`
	Architecture            string `json:"architecture" yaml:"architecture"`
}

NodeSystemInfo represents system information about a Node.

type ObjectFieldSelector

type ObjectFieldSelector struct {
	FieldPath  string `json:"fieldPath" yaml:"fieldPath"`
	APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"`
}

ObjectFieldSelector represents a field of a referenced Kubernetes object (typically the pod itself) used to populate an env value.

type ObjectMeta

type ObjectMeta struct {
	Name              string            `json:"name,omitempty" yaml:"name,omitempty"`
	Namespace         string            `json:"namespace,omitempty" yaml:"namespace,omitempty"`
	UID               string            `json:"uid,omitempty" yaml:"uid,omitempty"`
	ResourceVersion   string            `json:"resourceVersion,omitempty" yaml:"resourceVersion,omitempty"`
	Generation        int64             `json:"generation,omitempty" yaml:"generation,omitempty"`
	CreationTimestamp time.Time         `json:"creationTimestamp,omitempty" yaml:"creationTimestamp,omitempty"`
	DeletionTimestamp *time.Time        `json:"deletionTimestamp,omitempty" yaml:"deletionTimestamp,omitempty"`
	Labels            map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
	Annotations       map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"`
	OwnerReferences   []OwnerReference  `json:"ownerReferences,omitempty" yaml:"ownerReferences,omitempty"`
	Finalizers        []string          `json:"finalizers,omitempty" yaml:"finalizers,omitempty"`
}

ObjectMeta represents the standard metadata attached to every Kubernetes-style object: identity, namespace, labels, owner references and lifecycle timestamps.

type ObjectReference

type ObjectReference struct {
	Kind       string `json:"kind,omitempty" yaml:"kind,omitempty"`
	Namespace  string `json:"namespace,omitempty" yaml:"namespace,omitempty"`
	Name       string `json:"name,omitempty" yaml:"name,omitempty"`
	UID        string `json:"uid,omitempty" yaml:"uid,omitempty"`
	APIVersion string `json:"apiVersion,omitempty" yaml:"apiVersion,omitempty"`
}

ObjectReference represents a generic reference to any Kubernetes-style object, identified by kind, namespace, name and UID.

type OwnerReference

type OwnerReference struct {
	APIVersion string `json:"apiVersion" yaml:"apiVersion"`
	Kind       string `json:"kind" yaml:"kind"`
	Name       string `json:"name" yaml:"name"`
	UID        string `json:"uid" yaml:"uid"`
	Controller *bool  `json:"controller,omitempty" yaml:"controller,omitempty"`
}

OwnerReference represents a pointer to a parent Kubernetes-style object that owns the current resource.

type PersistentVolume

type PersistentVolume struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       PersistentVolumeSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     PersistentVolumeStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

PersistentVolume represents a Kubernetes PersistentVolume resource.

type PersistentVolumeClaim

type PersistentVolumeClaim struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       PersistentVolumeClaimSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     PersistentVolumeClaimStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

PersistentVolumeClaim represents a Kubernetes PersistentVolumeClaim resource.

type PersistentVolumeClaimList

type PersistentVolumeClaimList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []PersistentVolumeClaim `json:"items" yaml:"items"`
}

PersistentVolumeClaimList is a list of PersistentVolumeClaim resources.

type PersistentVolumeClaimSpec

type PersistentVolumeClaimSpec struct {
	AccessModes      []string             `json:"accessModes,omitempty" yaml:"accessModes,omitempty"`
	Selector         *LabelSelector       `json:"selector,omitempty" yaml:"selector,omitempty"`
	Resources        ResourceRequirements `json:"resources,omitempty" yaml:"resources,omitempty"`
	VolumeName       string               `json:"volumeName,omitempty" yaml:"volumeName,omitempty"`
	StorageClassName *string              `json:"storageClassName,omitempty" yaml:"storageClassName,omitempty"`
	VolumeMode       *string              `json:"volumeMode,omitempty" yaml:"volumeMode,omitempty"`
}

PersistentVolumeClaimSpec defines the desired state of a PersistentVolumeClaim.

type PersistentVolumeClaimStatus

type PersistentVolumeClaimStatus struct {
	Phase       string       `json:"phase,omitempty" yaml:"phase,omitempty"`
	AccessModes []string     `json:"accessModes,omitempty" yaml:"accessModes,omitempty"`
	Capacity    ResourceList `json:"capacity,omitempty" yaml:"capacity,omitempty"`
	Conditions  []Condition  `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

PersistentVolumeClaimStatus represents the observed state of a PersistentVolumeClaim.

type PersistentVolumeClaimVolumeSource

type PersistentVolumeClaimVolumeSource struct {
	ClaimName string `json:"claimName" yaml:"claimName"`
	ReadOnly  bool   `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
}

PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim that is mounted as a volume in a pod.

type PersistentVolumeList

type PersistentVolumeList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []PersistentVolume `json:"items" yaml:"items"`
}

PersistentVolumeList is a list of PersistentVolume resources.

type PersistentVolumeSpec

type PersistentVolumeSpec struct {
	Capacity                      ResourceList          `json:"capacity,omitempty" yaml:"capacity,omitempty"`
	AccessModes                   []string              `json:"accessModes,omitempty" yaml:"accessModes,omitempty"`
	PersistentVolumeReclaimPolicy string                `json:"persistentVolumeReclaimPolicy,omitempty" yaml:"persistentVolumeReclaimPolicy,omitempty"`
	StorageClassName              string                `json:"storageClassName,omitempty" yaml:"storageClassName,omitempty"`
	VolumeMode                    *string               `json:"volumeMode,omitempty" yaml:"volumeMode,omitempty"`
	ClaimRef                      *ObjectReference      `json:"claimRef,omitempty" yaml:"claimRef,omitempty"`
	HostPath                      *HostPathVolumeSource `json:"hostPath,omitempty" yaml:"hostPath,omitempty"`
	NFS                           *NFSVolumeSource      `json:"nfs,omitempty" yaml:"nfs,omitempty"`
}

PersistentVolumeSpec defines the desired state of a PersistentVolume.

type PersistentVolumeStatus

type PersistentVolumeStatus struct {
	Phase   string `json:"phase,omitempty" yaml:"phase,omitempty"`
	Message string `json:"message,omitempty" yaml:"message,omitempty"`
	Reason  string `json:"reason,omitempty" yaml:"reason,omitempty"`
}

PersistentVolumeStatus represents the observed state of a PersistentVolume.

type Pod

type Pod struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       PodSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     PodStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Pod represents a Kubernetes-style Pod resource, the smallest deployable unit that wraps one or more co-scheduled containers.

type PodAffinity

type PodAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution  []PodAffinityTerm         `` /* 127-byte string literal not displayed */
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `` /* 129-byte string literal not displayed */
}

PodAffinity represents the pod affinity rules applied to a pod during scheduling, indicating which pods it should be co-located with.

type PodAffinityTerm

type PodAffinityTerm struct {
	LabelSelector *LabelSelector `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty"`
	TopologyKey   string         `json:"topologyKey" yaml:"topologyKey"`
	Namespaces    []string       `json:"namespaces,omitempty" yaml:"namespaces,omitempty"`
}

PodAffinityTerm represents a single pod affinity or anti-affinity rule, including its label selector and topology key.

type PodAntiAffinity

type PodAntiAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution  []PodAffinityTerm         `` /* 127-byte string literal not displayed */
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `` /* 129-byte string literal not displayed */
}

PodAntiAffinity represents the pod anti-affinity rules applied to a pod during scheduling, indicating which pods it should avoid.

type PodCondition

type PodCondition struct {
	Type               string    `json:"type" yaml:"type"`
	Status             string    `json:"status" yaml:"status"`
	LastProbeTime      time.Time `json:"lastProbeTime,omitempty" yaml:"lastProbeTime,omitempty"`
	LastTransitionTime time.Time `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"`
	Reason             string    `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message            string    `json:"message,omitempty" yaml:"message,omitempty"`
}

PodCondition represents a single condition attached to a Pod's status, describing a transition the pod has gone through.

type PodFailurePolicy

type PodFailurePolicy struct {
	Rules []PodFailurePolicyRule `json:"rules" yaml:"rules"`
}

PodFailurePolicy represents the policy a Job applies to handle pod failures, expressed as a list of PodFailurePolicyRule entries.

type PodFailurePolicyOnExitCodesRequirement

type PodFailurePolicyOnExitCodesRequirement struct {
	ContainerName *string `json:"containerName,omitempty" yaml:"containerName,omitempty"`
	Operator      string  `json:"operator" yaml:"operator"`
	Values        []int32 `json:"values" yaml:"values"`
}

PodFailurePolicyOnExitCodesRequirement represents the requirement on container exit codes that triggers a PodFailurePolicyRule.

type PodFailurePolicyOnPodConditionsPattern

type PodFailurePolicyOnPodConditionsPattern struct {
	Type   string `json:"type" yaml:"type"`
	Status string `json:"status" yaml:"status"`
}

PodFailurePolicyOnPodConditionsPattern represents a pod condition pattern that, when matched, triggers a PodFailurePolicyRule.

type PodFailurePolicyRule

type PodFailurePolicyRule struct {
	Action          string                                   `json:"action" yaml:"action"`
	OnExitCodes     *PodFailurePolicyOnExitCodesRequirement  `json:"onExitCodes,omitempty" yaml:"onExitCodes,omitempty"`
	OnPodConditions []PodFailurePolicyOnPodConditionsPattern `json:"onPodConditions,omitempty" yaml:"onPodConditions,omitempty"`
}

PodFailurePolicyRule represents a single rule that matches pod failures and decides which counter they should be counted against.

type PodIP

type PodIP struct {
	IP string `json:"ip" yaml:"ip"`
}

PodIP represents a single IP address assigned to a pod, as exposed in PodStatus (one entry per IP family).

type PodList

type PodList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Pod `json:"items" yaml:"items"`
}

PodList represents a collection of Pod resources returned in a list response.

type PodSecurityContext

type PodSecurityContext struct {
	RunAsUser          *int64   `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty"`
	RunAsGroup         *int64   `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty"`
	RunAsNonRoot       *bool    `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty"`
	FSGroup            *int64   `json:"fsGroup,omitempty" yaml:"fsGroup,omitempty"`
	SupplementalGroups []int64  `json:"supplementalGroups,omitempty" yaml:"supplementalGroups,omitempty"`
	Sysctls            []Sysctl `json:"sysctls,omitempty" yaml:"sysctls,omitempty"`
}

PodSecurityContext represents security settings applied at the pod level (UID, GID, fs group, sysctls, etc.).

type PodSpec

type PodSpec struct {
	Containers                    []Container                `json:"containers" yaml:"containers"`
	InitContainers                []Container                `json:"initContainers,omitempty" yaml:"initContainers,omitempty"`
	Volumes                       []Volume                   `json:"volumes,omitempty" yaml:"volumes,omitempty"`
	ServiceAccountName            string                     `json:"serviceAccountName,omitempty" yaml:"serviceAccountName,omitempty"`
	NodeName                      string                     `json:"nodeName,omitempty" yaml:"nodeName,omitempty"`
	NodeSelector                  map[string]string          `json:"nodeSelector,omitempty" yaml:"nodeSelector,omitempty"`
	HostNetwork                   bool                       `json:"hostNetwork,omitempty" yaml:"hostNetwork,omitempty"`
	Hostname                      string                     `json:"hostname,omitempty" yaml:"hostname,omitempty"`
	Subdomain                     string                     `json:"subdomain,omitempty" yaml:"subdomain,omitempty"`
	DNSPolicy                     string                     `json:"dnsPolicy,omitempty" yaml:"dnsPolicy,omitempty"`
	RestartPolicy                 string                     `json:"restartPolicy,omitempty" yaml:"restartPolicy,omitempty"`
	TerminationGracePeriodSeconds *int64                     `json:"terminationGracePeriodSeconds,omitempty" yaml:"terminationGracePeriodSeconds,omitempty"`
	Tolerations                   []Toleration               `json:"tolerations,omitempty" yaml:"tolerations,omitempty"`
	Affinity                      *Affinity                  `json:"affinity,omitempty" yaml:"affinity,omitempty"`
	SecurityContext               *PodSecurityContext        `json:"securityContext,omitempty" yaml:"securityContext,omitempty"`
	ImagePullSecrets              []LocalObjectReference     `json:"imagePullSecrets,omitempty" yaml:"imagePullSecrets,omitempty"`
	PriorityClassName             string                     `json:"priorityClassName,omitempty" yaml:"priorityClassName,omitempty"`
	Priority                      *int32                     `json:"priority,omitempty" yaml:"priority,omitempty"`
	RuntimeClassName              *string                    `json:"runtimeClassName,omitempty" yaml:"runtimeClassName,omitempty"`
	SchedulerName                 string                     `json:"schedulerName,omitempty" yaml:"schedulerName,omitempty"`
	ActiveDeadlineSeconds         *int64                     `json:"activeDeadlineSeconds,omitempty" yaml:"activeDeadlineSeconds,omitempty"`
	AutomountServiceAccountToken  *bool                      `json:"automountServiceAccountToken,omitempty" yaml:"automountServiceAccountToken,omitempty"`
	EnableServiceLinks            *bool                      `json:"enableServiceLinks,omitempty" yaml:"enableServiceLinks,omitempty"`
	HostAliases                   []HostAlias                `json:"hostAliases,omitempty" yaml:"hostAliases,omitempty"`
	TopologySpreadConstraints     []TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty" yaml:"topologySpreadConstraints,omitempty"`
}

PodSpec represents the desired state of a Pod: the containers to run, volumes, scheduling preferences and security context.

type PodStatus

type PodStatus struct {
	Phase                 string            `json:"phase,omitempty" yaml:"phase,omitempty"`
	Conditions            []PodCondition    `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	Message               string            `json:"message,omitempty" yaml:"message,omitempty"`
	Reason                string            `json:"reason,omitempty" yaml:"reason,omitempty"`
	HostIP                string            `json:"hostIP,omitempty" yaml:"hostIP,omitempty"`
	HostIPs               []HostIP          `json:"hostIPs,omitempty" yaml:"hostIPs,omitempty"`
	PodIP                 string            `json:"podIP,omitempty" yaml:"podIP,omitempty"`
	PodIPs                []PodIP           `json:"podIPs,omitempty" yaml:"podIPs,omitempty"`
	StartTime             *time.Time        `json:"startTime,omitempty" yaml:"startTime,omitempty"`
	InitContainerStatuses []ContainerStatus `json:"initContainerStatuses,omitempty" yaml:"initContainerStatuses,omitempty"`
	ContainerStatuses     []ContainerStatus `json:"containerStatuses,omitempty" yaml:"containerStatuses,omitempty"`
	QOSClass              string            `json:"qosClass,omitempty" yaml:"qosClass,omitempty"`
	NominatedNodeName     string            `json:"nominatedNodeName,omitempty" yaml:"nominatedNodeName,omitempty"`
}

PodStatus represents the observed state of a Pod: its phase, conditions, IP addresses and per-container statuses.

type PodTemplateSpec

type PodTemplateSpec struct {
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       PodSpec `json:"spec,omitempty" yaml:"spec,omitempty"`
}

PodTemplateSpec represents the template used by controllers to create new pods, including the pod metadata and pod spec.

type PortStatus

type PortStatus struct {
	Port     int32   `json:"port" yaml:"port"`
	Protocol string  `json:"protocol" yaml:"protocol"`
	Error    *string `json:"error,omitempty" yaml:"error,omitempty"`
}

PortStatus represents the status of a port exposed by a load balancer.

type PreferredSchedulingTerm

type PreferredSchedulingTerm struct {
	Weight     int32            `json:"weight" yaml:"weight"`
	Preference NodeSelectorTerm `json:"preference" yaml:"preference"`
}

PreferredSchedulingTerm represents a node selection preference with a weight, used by NodeAffinity's preferred-during-scheduling rules.

type Probe

type Probe struct {
	ProbeHandler        `json:",inline" yaml:",inline"`
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty" yaml:"initialDelaySeconds,omitempty"`
	TimeoutSeconds      int32 `json:"timeoutSeconds,omitempty" yaml:"timeoutSeconds,omitempty"`
	PeriodSeconds       int32 `json:"periodSeconds,omitempty" yaml:"periodSeconds,omitempty"`
	SuccessThreshold    int32 `json:"successThreshold,omitempty" yaml:"successThreshold,omitempty"`
	FailureThreshold    int32 `json:"failureThreshold,omitempty" yaml:"failureThreshold,omitempty"`
}

Probe represents a health check (liveness, readiness or startup) for a container, including its handler and timing parameters.

type ProbeHandler

type ProbeHandler struct {
	Exec      *ExecAction      `json:"exec,omitempty" yaml:"exec,omitempty"`
	HTTPGet   *HTTPGetAction   `json:"httpGet,omitempty" yaml:"httpGet,omitempty"`
	TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty" yaml:"tcpSocket,omitempty"`
	GRPC      *GRPCAction      `json:"grpc,omitempty" yaml:"grpc,omitempty"`
}

ProbeHandler represents the action executed by a Probe: exec, HTTP GET, TCP socket, or gRPC health check.

type ProjectedVolumeSource

type ProjectedVolumeSource struct {
	Sources     []VolumeProjection `json:"sources,omitempty" yaml:"sources,omitempty"`
	DefaultMode *int32             `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
}

ProjectedVolumeSource represents a list of volume sources that are projected into the same directory in a pod.

type ReplicaSet

type ReplicaSet struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       ReplicaSetSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     ReplicaSetStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

ReplicaSet represents a Kubernetes-style ReplicaSet resource that maintains a stable set of replica pods at any given time.

type ReplicaSetCondition

type ReplicaSetCondition struct {
	Type               string    `json:"type" yaml:"type"`
	Status             string    `json:"status" yaml:"status"`
	LastTransitionTime time.Time `json:"lastTransitionTime,omitempty" yaml:"lastTransitionTime,omitempty"`
	Reason             string    `json:"reason,omitempty" yaml:"reason,omitempty"`
	Message            string    `json:"message,omitempty" yaml:"message,omitempty"`
}

ReplicaSetCondition represents a single condition entry in a ReplicaSet's status subresource.

type ReplicaSetList

type ReplicaSetList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []ReplicaSet `json:"items" yaml:"items"`
}

ReplicaSetList represents a collection of ReplicaSet resources returned in a list response.

type ReplicaSetSpec

type ReplicaSetSpec struct {
	Replicas        *int32          `json:"replicas,omitempty" yaml:"replicas,omitempty"`
	MinReadySeconds int32           `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty"`
	Selector        *LabelSelector  `json:"selector" yaml:"selector"`
	Template        PodTemplateSpec `json:"template,omitempty" yaml:"template,omitempty"`
}

ReplicaSetSpec represents the desired state of a ReplicaSet: the number of replicas, the label selector and the pod template.

type ReplicaSetStatus

type ReplicaSetStatus struct {
	Replicas             int32                 `json:"replicas" yaml:"replicas"`
	FullyLabeledReplicas int32                 `json:"fullyLabeledReplicas,omitempty" yaml:"fullyLabeledReplicas,omitempty"`
	ReadyReplicas        int32                 `json:"readyReplicas,omitempty" yaml:"readyReplicas,omitempty"`
	AvailableReplicas    int32                 `json:"availableReplicas,omitempty" yaml:"availableReplicas,omitempty"`
	ObservedGeneration   int64                 `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"`
	Conditions           []ReplicaSetCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

ReplicaSetStatus represents the observed state of a ReplicaSet, including the number of ready, fully labeled and available replicas.

type ResourceFieldSelector

type ResourceFieldSelector struct {
	Resource      string `json:"resource" yaml:"resource"`
	ContainerName string `json:"containerName,omitempty" yaml:"containerName,omitempty"`
	Divisor       string `json:"divisor,omitempty" yaml:"divisor,omitempty"`
}

ResourceFieldSelector represents a container resource (CPU, memory) whose value is exposed as an environment variable.

type ResourceList

type ResourceList map[string]string

ResourceList represents a map of resource names to quantity strings (e.g. "cpu": "100m", "memory": "256Mi").

type ResourceRequirements

type ResourceRequirements struct {
	Limits   ResourceList `json:"limits,omitempty" yaml:"limits,omitempty"`
	Requests ResourceList `json:"requests,omitempty" yaml:"requests,omitempty"`
}

ResourceRequirements represents the compute resource limits and requests (CPU, memory, etc.) requested for a container.

type RollingUpdateDaemonSet

type RollingUpdateDaemonSet struct {
	MaxUnavailable *IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"`
	MaxSurge       *IntOrString `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"`
}

RollingUpdateDaemonSet represents the parameters controlling the rolling update of pods in a DaemonSet.

type RollingUpdateDeployment

type RollingUpdateDeployment struct {
	MaxUnavailable *IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"`
	MaxSurge       *IntOrString `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"`
}

RollingUpdateDeployment represents the parameters that control the rolling-update strategy of a Deployment (max surge / max unavailable).

type RollingUpdateStatefulSetStrategy

type RollingUpdateStatefulSetStrategy struct {
	MaxUnavailable *IntOrString `json:"maxUnavailable,omitempty" yaml:"maxUnavailable,omitempty"`
	Partition      *int32       `json:"partition,omitempty" yaml:"partition,omitempty"`
}

RollingUpdateStatefulSetStrategy represents the parameters controlling the rolling update of pods in a StatefulSet.

type SELinuxOptions

type SELinuxOptions struct {
	User  string `json:"user,omitempty" yaml:"user,omitempty"`
	Role  string `json:"role,omitempty" yaml:"role,omitempty"`
	Type  string `json:"type,omitempty" yaml:"type,omitempty"`
	Level string `json:"level,omitempty" yaml:"level,omitempty"`
}

SELinuxOptions represents the SELinux labels applied to a container.

type SeccompProfile

type SeccompProfile struct {
	Type             string  `json:"type" yaml:"type"`
	LocalhostProfile *string `json:"localhostProfile,omitempty" yaml:"localhostProfile,omitempty"`
}

SeccompProfile represents a seccomp profile applied to a container, either a runtime default or a localhost-hosted profile.

type Secret

type Secret struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Data       map[string][]byte `json:"data,omitempty" yaml:"data,omitempty"`
	StringData map[string]string `json:"stringData,omitempty" yaml:"stringData,omitempty"`
	Type       string            `json:"type,omitempty" yaml:"type,omitempty"`
	Immutable  *bool             `json:"immutable,omitempty" yaml:"immutable,omitempty"`
}

Secret represents a Kubernetes Secret resource containing sensitive data.

type SecretEnvSource

type SecretEnvSource struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Optional             *bool `json:"optional,omitempty" yaml:"optional,omitempty"`
}

SecretEnvSource represents a reference to a Secret whose keys are imported as environment variables.

type SecretKeySelector

type SecretKeySelector struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Key                  string `json:"key" yaml:"key"`
	Optional             *bool  `json:"optional,omitempty" yaml:"optional,omitempty"`
}

SecretKeySelector represents a reference to a specific key in a Secret whose value populates an env var.

type SecretList

type SecretList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Secret `json:"items" yaml:"items"`
}

SecretList is a list of Secret resources.

type SecretProjection

type SecretProjection struct {
	LocalObjectReference `json:",inline" yaml:",inline"`
	Items                []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	Optional             *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

SecretProjection represents a Secret to project into a projected volume, with optional per-key paths.

type SecretVolumeSource

type SecretVolumeSource struct {
	SecretName  string      `json:"secretName,omitempty" yaml:"secretName,omitempty"`
	Items       []KeyToPath `json:"items,omitempty" yaml:"items,omitempty"`
	DefaultMode *int32      `json:"defaultMode,omitempty" yaml:"defaultMode,omitempty"`
	Optional    *bool       `json:"optional,omitempty" yaml:"optional,omitempty"`
}

SecretVolumeSource represents a Secret projected into a pod as a volume, optionally with per-key paths and file modes.

type SecurityContext

type SecurityContext struct {
	RunAsUser                *int64          `json:"runAsUser,omitempty" yaml:"runAsUser,omitempty"`
	RunAsGroup               *int64          `json:"runAsGroup,omitempty" yaml:"runAsGroup,omitempty"`
	RunAsNonRoot             *bool           `json:"runAsNonRoot,omitempty" yaml:"runAsNonRoot,omitempty"`
	ReadOnlyRootFilesystem   *bool           `json:"readOnlyRootFilesystem,omitempty" yaml:"readOnlyRootFilesystem,omitempty"`
	Privileged               *bool           `json:"privileged,omitempty" yaml:"privileged,omitempty"`
	AllowPrivilegeEscalation *bool           `json:"allowPrivilegeEscalation,omitempty" yaml:"allowPrivilegeEscalation,omitempty"`
	Capabilities             *Capabilities   `json:"capabilities,omitempty" yaml:"capabilities,omitempty"`
	SELinuxOptions           *SELinuxOptions `json:"seLinuxOptions,omitempty" yaml:"seLinuxOptions,omitempty"`
	SeccompProfile           *SeccompProfile `json:"seccompProfile,omitempty" yaml:"seccompProfile,omitempty"`
	ProcMount                *string         `json:"procMount,omitempty" yaml:"procMount,omitempty"`
}

SecurityContext represents security settings applied at the container level (UID, GID, capabilities, seccomp, etc.).

type Service

type Service struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       ServiceSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     ServiceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

Service represents a Kubernetes Service resource.

type ServiceAccount

type ServiceAccount struct {
	TypeMeta                     `json:",inline" yaml:",inline"`
	ObjectMeta                   `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Secrets                      []ObjectReference      `json:"secrets,omitempty" yaml:"secrets,omitempty"`
	ImagePullSecrets             []LocalObjectReference `json:"imagePullSecrets,omitempty" yaml:"imagePullSecrets,omitempty"`
	AutomountServiceAccountToken *bool                  `json:"automountServiceAccountToken,omitempty" yaml:"automountServiceAccountToken,omitempty"`
}

ServiceAccount represents a Kubernetes ServiceAccount resource.

type ServiceAccountList

type ServiceAccountList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []ServiceAccount `json:"items" yaml:"items"`
}

ServiceAccountList is a list of ServiceAccount resources.

type ServiceList

type ServiceList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []Service `json:"items" yaml:"items"`
}

ServiceList is a list of Service resources.

type ServicePort

type ServicePort struct {
	Name        string      `json:"name,omitempty" yaml:"name,omitempty"`
	Protocol    string      `json:"protocol,omitempty" yaml:"protocol,omitempty"`
	AppProtocol *string     `json:"appProtocol,omitempty" yaml:"appProtocol,omitempty"`
	Port        int32       `json:"port" yaml:"port"`
	TargetPort  IntOrString `json:"targetPort,omitempty" yaml:"targetPort,omitempty"`
	NodePort    int32       `json:"nodePort,omitempty" yaml:"nodePort,omitempty"`
}

ServicePort defines a network port exposed by a Service.

type ServiceSpec

type ServiceSpec struct {
	Type                          string            `json:"type,omitempty" yaml:"type,omitempty"`
	Ports                         []ServicePort     `json:"ports,omitempty" yaml:"ports,omitempty"`
	Selector                      map[string]string `json:"selector,omitempty" yaml:"selector,omitempty"`
	ClusterIP                     string            `json:"clusterIP,omitempty" yaml:"clusterIP,omitempty"`
	ClusterIPs                    []string          `json:"clusterIPs,omitempty" yaml:"clusterIPs,omitempty"`
	ExternalIPs                   []string          `json:"externalIPs,omitempty" yaml:"externalIPs,omitempty"`
	LoadBalancerIP                string            `json:"loadBalancerIP,omitempty" yaml:"loadBalancerIP,omitempty"`
	LoadBalancerSourceRanges      []string          `json:"loadBalancerSourceRanges,omitempty" yaml:"loadBalancerSourceRanges,omitempty"`
	ExternalName                  string            `json:"externalName,omitempty" yaml:"externalName,omitempty"`
	ExternalTrafficPolicy         string            `json:"externalTrafficPolicy,omitempty" yaml:"externalTrafficPolicy,omitempty"`
	InternalTrafficPolicy         string            `json:"internalTrafficPolicy,omitempty" yaml:"internalTrafficPolicy,omitempty"`
	HealthCheckNodePort           int32             `json:"healthCheckNodePort,omitempty" yaml:"healthCheckNodePort,omitempty"`
	SessionAffinity               string            `json:"sessionAffinity,omitempty" yaml:"sessionAffinity,omitempty"`
	IPFamilies                    []string          `json:"ipFamilies,omitempty" yaml:"ipFamilies,omitempty"`
	IPFamilyPolicy                string            `json:"ipFamilyPolicy,omitempty" yaml:"ipFamilyPolicy,omitempty"`
	AllocateLoadBalancerNodePorts *bool             `json:"allocateLoadBalancerNodePorts,omitempty" yaml:"allocateLoadBalancerNodePorts,omitempty"`
	PublishNotReadyAddresses      bool              `json:"publishNotReadyAddresses,omitempty" yaml:"publishNotReadyAddresses,omitempty"`
}

ServiceSpec defines the desired state of a Service.

type ServiceStatus

type ServiceStatus struct {
	LoadBalancer LoadBalancerStatus `json:"loadBalancer,omitempty" yaml:"loadBalancer,omitempty"`
	Conditions   []Condition        `json:"conditions,omitempty" yaml:"conditions,omitempty"`
}

ServiceStatus represents the observed state of a Service.

type StatefulSet

type StatefulSet struct {
	TypeMeta   `json:",inline" yaml:",inline"`
	ObjectMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       StatefulSetSpec   `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     StatefulSetStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

StatefulSet represents a Kubernetes-style StatefulSet resource that manages a set of pods with stable, persistent identity and storage.

type StatefulSetList

type StatefulSetList struct {
	TypeMeta `json:",inline" yaml:",inline"`
	ListMeta `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Items    []StatefulSet `json:"items" yaml:"items"`
}

StatefulSetList represents a collection of StatefulSet resources returned in a list response.

type StatefulSetOrdinals

type StatefulSetOrdinals struct {
	Start int32 `json:"start,omitempty" yaml:"start,omitempty"`
}

StatefulSetOrdinals represents the ordinal numbering policy used by a StatefulSet to assign indices to its replicas.

type StatefulSetSpec

type StatefulSetSpec struct {
	Replicas             *int32                    `json:"replicas,omitempty" yaml:"replicas,omitempty"`
	Selector             *LabelSelector            `json:"selector" yaml:"selector"`
	Template             PodTemplateSpec           `json:"template" yaml:"template"`
	VolumeClaimTemplates []PersistentVolumeClaim   `json:"volumeClaimTemplates,omitempty" yaml:"volumeClaimTemplates,omitempty"`
	ServiceName          string                    `json:"serviceName" yaml:"serviceName"`
	PodManagementPolicy  string                    `json:"podManagementPolicy,omitempty" yaml:"podManagementPolicy,omitempty"`
	UpdateStrategy       StatefulSetUpdateStrategy `json:"updateStrategy,omitempty" yaml:"updateStrategy,omitempty"`
	RevisionHistoryLimit *int32                    `json:"revisionHistoryLimit,omitempty" yaml:"revisionHistoryLimit,omitempty"`
	MinReadySeconds      int32                     `json:"minReadySeconds,omitempty" yaml:"minReadySeconds,omitempty"`
	Ordinals             StatefulSetOrdinals       `json:"ordinals,omitempty" yaml:"ordinals,omitempty"`
}

StatefulSetSpec represents the desired state of a StatefulSet, including its service name, pod management policy and update strategy.

type StatefulSetStatus

type StatefulSetStatus struct {
	ObservedGeneration int64       `json:"observedGeneration,omitempty" yaml:"observedGeneration,omitempty"`
	Replicas           int32       `json:"replicas" yaml:"replicas"`
	ReadyReplicas      int32       `json:"readyReplicas,omitempty" yaml:"readyReplicas,omitempty"`
	CurrentReplicas    int32       `json:"currentReplicas,omitempty" yaml:"currentReplicas,omitempty"`
	UpdatedReplicas    int32       `json:"updatedReplicas,omitempty" yaml:"updatedReplicas,omitempty"`
	CurrentRevision    string      `json:"currentRevision,omitempty" yaml:"currentRevision,omitempty"`
	UpdateRevision     string      `json:"updateRevision,omitempty" yaml:"updateRevision,omitempty"`
	CollisionCount     *int32      `json:"collisionCount,omitempty" yaml:"collisionCount,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty" yaml:"conditions,omitempty"`
	AvailableReplicas  int32       `json:"availableReplicas,omitempty" yaml:"availableReplicas,omitempty"`
}

StatefulSetStatus represents the observed state of a StatefulSet, including replica counts and current/update revisions.

type StatefulSetUpdateStrategy

type StatefulSetUpdateStrategy struct {
	Type          string                            `json:"type,omitempty" yaml:"type,omitempty"`
	RollingUpdate *RollingUpdateStatefulSetStrategy `json:"rollingUpdate,omitempty" yaml:"rollingUpdate,omitempty"`
}

StatefulSetUpdateStrategy represents the strategy a StatefulSet uses when updating existing pods (rolling update or on delete).

type Sysctl

type Sysctl struct {
	Name  string `json:"name" yaml:"name"`
	Value string `json:"value" yaml:"value"`
}

Sysctl represents a single kernel sysctl setting applied via the pod security context.

type TCPSocketAction

type TCPSocketAction struct {
	Port IntOrString `json:"port" yaml:"port"`
	Host string      `json:"host,omitempty" yaml:"host,omitempty"`
}

TCPSocketAction represents a TCP socket probe or hook against a port inside (or outside) the container.

type Taint

type Taint struct {
	Key       string     `json:"key" yaml:"key"`
	Value     string     `json:"value,omitempty" yaml:"value,omitempty"`
	Effect    string     `json:"effect" yaml:"effect"`
	TimeAdded *time.Time `json:"timeAdded,omitempty" yaml:"timeAdded,omitempty"`
}

Taint represents a node taint that repels pods from being scheduled onto a Node.

type Toleration

type Toleration struct {
	Key               string `json:"key,omitempty" yaml:"key,omitempty"`
	Operator          string `json:"operator,omitempty" yaml:"operator,omitempty"`
	Value             string `json:"value,omitempty" yaml:"value,omitempty"`
	Effect            string `json:"effect,omitempty" yaml:"effect,omitempty"`
	TolerationSeconds *int64 `json:"tolerationSeconds,omitempty" yaml:"tolerationSeconds,omitempty"`
}

Toleration represents a pod's tolerance for a node taint, allowing the pod to be scheduled on (or kept running on) tainted nodes.

type TopologySpreadConstraint

type TopologySpreadConstraint struct {
	MaxSkew           int32          `json:"maxSkew" yaml:"maxSkew"`
	TopologyKey       string         `json:"topologyKey" yaml:"topologyKey"`
	WhenUnsatisfiable string         `json:"whenUnsatisfiable" yaml:"whenUnsatisfiable"`
	LabelSelector     *LabelSelector `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty"`
	MinDomains        *int32         `json:"minDomains,omitempty" yaml:"minDomains,omitempty"`
}

TopologySpreadConstraint represents a constraint that tries to spread pods across failure domains such as nodes, racks or zones.

type TypeMeta

type TypeMeta struct {
	Kind       string `json:"kind" yaml:"kind"`
	APIVersion string `json:"apiVersion" yaml:"apiVersion"`
}

TypeMeta represents the identity metadata carried by every Kubernetes-style object: the resource Kind and its API Version.

type UncountedTerminatedPods

type UncountedTerminatedPods struct {
	Succeeded []string `json:"succeeded,omitempty" yaml:"succeeded,omitempty"`
	Failed    []string `json:"failed,omitempty" yaml:"failed,omitempty"`
}

UncountedTerminatedPods represents pods whose termination is known to the Job controller but not yet counted against the Job's metrics.

type Volume

type Volume struct {
	Name         string `json:"name" yaml:"name"`
	VolumeSource `json:",inline" yaml:",inline"`
}

Volume represents a named volume that is mounted into containers within a pod, sourced from one of the supported volume source types.

type VolumeMount

type VolumeMount struct {
	Name             string  `json:"name" yaml:"name"`
	ReadOnly         bool    `json:"readOnly,omitempty" yaml:"readOnly,omitempty"`
	MountPath        string  `json:"mountPath" yaml:"mountPath"`
	SubPath          string  `json:"subPath,omitempty" yaml:"subPath,omitempty"`
	SubPathExpr      string  `json:"subPathExpr,omitempty" yaml:"subPathExpr,omitempty"`
	MountPropagation *string `json:"mountPropagation,omitempty" yaml:"mountPropagation,omitempty"`
}

VolumeMount represents a mount of a pod volume into a container at a specific path, with optional read-only and propagation settings.

type VolumeProjection

type VolumeProjection struct {
	Secret      *SecretProjection      `json:"secret,omitempty" yaml:"secret,omitempty"`
	ConfigMap   *ConfigMapProjection   `json:"configMap,omitempty" yaml:"configMap,omitempty"`
	DownwardAPI *DownwardAPIProjection `json:"downwardAPI,omitempty" yaml:"downwardAPI,omitempty"`
}

VolumeProjection represents a single source contributing to a projected volume: a Secret, a ConfigMap or a DownwardAPI entry.

type VolumeSource

type VolumeSource struct {
	HostPath              *HostPathVolumeSource              `json:"hostPath,omitempty" yaml:"hostPath,omitempty"`
	EmptyDir              *EmptyDirVolumeSource              `json:"emptyDir,omitempty" yaml:"emptyDir,omitempty"`
	ConfigMap             *ConfigMapVolumeSource             `json:"configMap,omitempty" yaml:"configMap,omitempty"`
	Secret                *SecretVolumeSource                `json:"secret,omitempty" yaml:"secret,omitempty"`
	PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty" yaml:"persistentVolumeClaim,omitempty"`
	Projected             *ProjectedVolumeSource             `json:"projected,omitempty" yaml:"projected,omitempty"`
	DownwardAPI           *DownwardAPIVolumeSource           `json:"downwardAPI,omitempty" yaml:"downwardAPI,omitempty"`
}

VolumeSource represents the kind of backing storage a Volume uses: hostPath, emptyDir, ConfigMap, Secret, PVC, projected or downwardAPI.

type WatchEvent

type WatchEvent struct {
	Type   string          `json:"type"`
	Object json.RawMessage `json:"object"`
}

WatchEvent represents a single change event delivered on a Kubernetes-style watch stream, carrying the event type and the affected object payload.

type WeightedPodAffinityTerm

type WeightedPodAffinityTerm struct {
	Weight          int32           `json:"weight" yaml:"weight"`
	PodAffinityTerm PodAffinityTerm `json:"podAffinityTerm" yaml:"podAffinityTerm"`
}

WeightedPodAffinityTerm represents a preferred pod affinity rule with an associated scheduling weight.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL