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

pod

package
v0.9.4 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2025 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConnectGet

func ConnectGet(client *golangsdk.ServiceClient, namespace string, name string) error

func ConnectPost

func ConnectPost(client *golangsdk.ServiceClient, namespace string, name string) error

Types

type Affinity

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

Affinity represents pod affinity and anti-affinity

type Capabilities

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

Capabilities represents container capabilities

type ConfigMapEnvSource

type ConfigMapEnvSource struct {
	Name     string `json:"name,omitempty"`
	Optional *bool  `json:"optional,omitempty"`
}

ConfigMapEnvSource selects a ConfigMap to populate environment variables

type ConfigMapKeySelector

type ConfigMapKeySelector struct {
	Key      string `json:"key"`
	Name     string `json:"name,omitempty"`
	Optional *bool  `json:"optional,omitempty"`
}

ConfigMapKeySelector selects a key from a ConfigMap

type ConfigMapProjection

type ConfigMapProjection struct {
	Items    []KeyToPath `json:"items,omitempty"`
	Name     string      `json:"name,omitempty"`
	Optional *bool       `json:"optional,omitempty"`
}

ConfigMapProjection adapts a ConfigMap into a projected volume

type ConfigMapVolumeSource

type ConfigMapVolumeSource struct {
	DefaultMode *int32      `json:"defaultMode,omitempty"`
	Items       []KeyToPath `json:"items,omitempty"`
	Name        string      `json:"name,omitempty"`
	Optional    *bool       `json:"optional,omitempty"`
}

ConfigMapVolumeSource adapts a ConfigMap into a volume

type Container

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

Container represents a container in a pod

type ContainerPort

type ContainerPort struct {
	ContainerPort int32  `json:"containerPort"`
	Name          string `json:"name,omitempty"`
	Protocol      string `json:"protocol,omitempty"`
}

ContainerPort represents a port in a container running in a pod

type ContainerState

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

ContainerState represents the state of a container

type ContainerStateRunning

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

ContainerStateRunning represents a running container state

type ContainerStateTerminated

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

ContainerStateTerminated represents a terminated container state

type ContainerStateWaiting

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

ContainerStateWaiting represents a waiting container state

type ContainerStatus

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

ContainerStatus represents the status of a container

type DeleteBody

type DeleteBody struct {
	// APIVersion defines the versioned schema
	APIVersion string `json:"apiVersion,omitempty"`

	// Kind represents the REST resource
	Kind string `json:"kind,omitempty"`

	// GracePeriodSeconds is the duration in seconds before deletion
	GracePeriodSeconds *int64 `json:"gracePeriodSeconds,omitempty"`

	// PropagationPolicy determines how garbage collection will be performed
	PropagationPolicy string `json:"propagationPolicy,omitempty"`

	// DryRun when present, indicates modifications should not be persisted
	DryRun []string `json:"dryRun,omitempty"`

	// OrphanDependents determines if dependent objects should be orphaned
	OrphanDependents *bool `json:"orphanDependents,omitempty"`

	// Preconditions must be fulfilled before deletion
	Preconditions *Preconditions `json:"preconditions,omitempty"`
}

DeleteBody represents the body of delete request

type DeleteOpts

type DeleteOpts struct {
	// Name of the namespace to delete
	NameSpace string `json:"-" required:"true"`

	// Name of the pod to delete
	PodName string `json:"-" required:"true"`

	// Body contains the delete options
	Body DeleteBody `json:"-" required:"true"`
}

type DownwardAPIProjection

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

DownwardAPIProjection represents downward API info for projecting

type DownwardAPIVolumeFile

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

DownwardAPIVolumeFile represents information to create the file containing the pod field

type DownwardAPIVolumeSource

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

DownwardAPIVolumeSource represents a downward API volume source

type EmptyDirVolumeSource

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

EmptyDirVolumeSource represents an empty directory volume

type EnvFromSource

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

EnvFromSource represents a source to populate environment variables

type EnvVar

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

EnvVar represents an environment variable

type EnvVarSource

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

EnvVarSource represents a source for an environment variable's value

type EphemeralContainer

type EphemeralContainer struct {
	Args                     []string         `json:"args,omitempty"`
	Command                  []string         `json:"command,omitempty"`
	Env                      []EnvVar         `json:"env,omitempty"`
	EnvFrom                  []EnvFromSource  `json:"envFrom,omitempty"`
	Image                    string           `json:"image,omitempty"`
	Name                     string           `json:"name"`
	SecurityContext          *SecurityContext `json:"securityContext,omitempty"`
	Stdin                    bool             `json:"stdin,omitempty"`
	StdinOnce                bool             `json:"stdinOnce,omitempty"`
	TargetContainerName      string           `json:"targetContainerName,omitempty"`
	TerminationMessagePath   string           `json:"terminationMessagePath,omitempty"`
	TerminationMessagePolicy string           `json:"terminationMessagePolicy,omitempty"`
	TTY                      bool             `json:"tty,omitempty"`
	VolumeMounts             []VolumeMount    `json:"volumeMounts,omitempty"`
	WorkingDir               string           `json:"workingDir,omitempty"`
}

EphemeralContainer represents an ephemeral container

type EphemeralVolumeSource

type EphemeralVolumeSource struct {
	VolumeClaimTemplate *PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
}

EphemeralVolumeSource represents an ephemeral volume source

type ExecAction

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

ExecAction represents an exec lifecycle action

type HTTPGetAction

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

HTTPGetAction represents an HTTP GET lifecycle action

type HTTPHeader

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

HTTPHeader represents an HTTP header

type HostAlias

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

HostAlias represents a mapping between IP and hostnames

type KeyToPath

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

KeyToPath maps a string key to a path within a volume

type LabelSelector

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

LabelSelector represents label selectors

type LabelSelectorRequirement

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

LabelSelectorRequirement represents a requirement for label selection

type Lifecycle

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

Lifecycle represents container lifecycle hooks

type LifecycleHandler

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

LifecycleHandler represents a lifecycle handler

type LocalObjectReference

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

LocalObjectReference contains enough information to locate the referenced object

type ManagedFieldsEntry

type ManagedFieldsEntry struct {
	APIVersion string      `json:"apiVersion,omitempty"`
	FieldsType string      `json:"fieldsType,omitempty"`
	FieldsV1   interface{} `json:"fieldsV1,omitempty"`
	Manager    string      `json:"manager,omitempty"`
	Operation  string      `json:"operation,omitempty"`
	Time       string      `json:"time,omitempty"`
}

ManagedFieldsEntry contains information about the manager that created or modified a resource

type NFSVolumeSource

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

NFSVolumeSource represents an NFS mount

type NodeAffinity

type NodeAffinity struct {
	RequiredDuringSchedulingIgnoredDuringExecution *NodeSelector `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
}

NodeAffinity represents node affinity scheduling rules

type NodeSelector

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

NodeSelector represents a node selector

type NodeSelectorRequirement

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

NodeSelectorRequirement represents a node selector requirement

type NodeSelectorTerm

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

NodeSelectorTerm contains a list of node selector requirements

type ObjectFieldSelector

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

ObjectFieldSelector selects a field from the pod

type ObjectMeta

type ObjectMeta struct {
	Annotations                map[string]string    `json:"annotations,omitempty"`
	ClusterName                string               `json:"clusterName,omitempty"`
	CreationTimestamp          time.Time            `json:"creationTimestamp,omitempty"`
	DeletionGracePeriodSeconds *int64               `json:"deletionGracePeriodSeconds,omitempty"`
	DeletionTimestamp          *time.Time           `json:"deletionTimestamp,omitempty"`
	Enable                     *bool                `json:"enable,omitempty"`
	Finalizers                 []string             `json:"finalizers,omitempty"`
	GenerateName               string               `json:"generateName,omitempty"`
	Generation                 int64                `json:"generation,omitempty"`
	Labels                     map[string]string    `json:"labels,omitempty"`
	ManagedFields              []ManagedFieldsEntry `json:"managedFields,omitempty"`
	Name                       string               `json:"name,omitempty"`
	Namespace                  string               `json:"namespace,omitempty"`
	OwnerReferences            []OwnerReference     `json:"ownerReferences,omitempty"`
	ResourceVersion            string               `json:"resourceVersion,omitempty"`
	SelfLink                   string               `json:"selfLink,omitempty"`
	UID                        string               `json:"uid,omitempty"`
}

ObjectMeta represents metadata about the object

type OwnerReference

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

OwnerReference represents a reference to an object's owner

type PersistentVolumeClaimSpec

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

PersistentVolumeClaimSpec represents the specification of a PVC

type PersistentVolumeClaimTemplate

type PersistentVolumeClaimTemplate struct {
	Metadata ObjectMeta                `json:"metadata,omitempty"`
	Spec     PersistentVolumeClaimSpec `json:"spec"`
}

PersistentVolumeClaimTemplate represents a template for PVC creation

type PersistentVolumeClaimVolumeSource

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

PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim

type Pod

type Pod struct {
	APIVersion string     `json:"apiVersion,omitempty"`
	Kind       string     `json:"kind,omitempty"`
	Metadata   ObjectMeta `json:"metadata,omitempty"`
	Spec       PodSpec    `json:"spec,omitempty"`
	Status     PodStatus  `json:"status,omitempty"`
}

Pod represents a pod in Kubernetes

func Create

func Create(client *golangsdk.ServiceClient, namespace string, opts Pod) (*Pod, error)

Create requests the creation of a new pod

func Delete

func Delete(client *golangsdk.ServiceClient, opts DeleteOpts) (*Pod, error)

Delete removes a pod with specified options

func Get

func Get(client *golangsdk.ServiceClient, nameSpace, pod string) (*Pod, error)

Get retrieves a specific pod based on its name

func Update

func Update(client *golangsdk.ServiceClient, namespace, pod string, opts Pod) (*Pod, error)

Update requests the update of a new pod

type PodAffinityTerm

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

PodAffinityTerm represents a pod affinity term

type PodAntiAffinity

type PodAntiAffinity struct {
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution,omitempty"`
	RequiredDuringSchedulingIgnoredDuringExecution  []PodAffinityTerm         `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
}

PodAntiAffinity represents pod anti-affinity scheduling rules

type PodCondition

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

PodCondition represents a pod condition

type PodDNSConfig

type PodDNSConfig struct {
	Nameservers []string             `json:"nameservers,omitempty"`
	Options     []PodDNSConfigOption `json:"options,omitempty"`
	Searches    []string             `json:"searches,omitempty"`
}

PodDNSConfig represents DNS configurations

type PodDNSConfigOption

type PodDNSConfigOption struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

PodDNSConfigOption represents a DNS configuration option

type PodIP

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

PodIP represents a pod IP address

type PodReadinessGate

type PodReadinessGate struct {
	ConditionType string `json:"conditionType"`
}

PodReadinessGate represents a readiness gate

type PodSecurityContext

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

PodSecurityContext holds pod-level security attributes

type PodSpec

type PodSpec struct {
	ActiveDeadlineSeconds         *int64                     `json:"activeDeadlineSeconds,omitempty"`
	Affinity                      *Affinity                  `json:"affinity,omitempty"`
	Containers                    []Container                `json:"containers"`
	DNSConfig                     *PodDNSConfig              `json:"dnsConfig,omitempty"`
	DNSPolicy                     string                     `json:"dnsPolicy,omitempty"`
	EphemeralContainers           []EphemeralContainer       `json:"ephemeralContainers,omitempty"`
	HostAliases                   []HostAlias                `json:"hostAliases,omitempty"`
	Hostname                      string                     `json:"hostname,omitempty"`
	ImagePullSecrets              []LocalObjectReference     `json:"imagePullSecrets,omitempty"`
	InitContainers                []Container                `json:"initContainers,omitempty"`
	NodeName                      string                     `json:"nodeName,omitempty"`
	Overhead                      map[string]string          `json:"overhead,omitempty"`
	ReadinessGates                []PodReadinessGate         `json:"readinessGates,omitempty"`
	RestartPolicy                 string                     `json:"restartPolicy,omitempty"`
	SchedulerName                 string                     `json:"schedulerName,omitempty"`
	SecurityContext               *PodSecurityContext        `json:"securityContext,omitempty"`
	SetHostnameAsFQDN             *bool                      `json:"setHostnameAsFQDN,omitempty"`
	ShareProcessNamespace         *bool                      `json:"shareProcessNamespace,omitempty"`
	TerminationGracePeriodSeconds *int64                     `json:"terminationGracePeriodSeconds,omitempty"`
	TopologySpreadConstraints     []TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	Volumes                       []Volume                   `json:"volumes,omitempty"`
}

PodSpec represents the specification of a pod

type PodStatus

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

PodStatus represents the current status of a pod

type Preconditions

type Preconditions struct {
	// ResourceVersion specifies the target ResourceVersion
	ResourceVersion string `json:"resourceVersion,omitempty"`

	// UID specifies the target UID
	UID string `json:"uid,omitempty"`
}

Preconditions represents conditions that must be fulfilled before deletion

type Probe

type Probe struct {
	Exec                *ExecAction      `json:"exec,omitempty"`
	FailureThreshold    int32            `json:"failureThreshold,omitempty"`
	HTTPGet             *HTTPGetAction   `json:"httpGet,omitempty"`
	InitialDelaySeconds int32            `json:"initialDelaySeconds,omitempty"`
	PeriodSeconds       int32            `json:"periodSeconds,omitempty"`
	SuccessThreshold    int32            `json:"successThreshold,omitempty"`
	TCPSocket           *TCPSocketAction `json:"tcpSocket,omitempty"`
	TimeoutSeconds      int32            `json:"timeoutSeconds,omitempty"`
}

Probe represents a container probe

type ProjectedVolumeSource

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

ProjectedVolumeSource represents a projected volume source

type ResourceFieldSelector

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

ResourceFieldSelector selects a resource of the container

type ResourceRequirements

type ResourceRequirements struct {
	Limits   map[string]string `json:"limits,omitempty"`
	Requests map[string]string `json:"requests,omitempty"`
}

ResourceRequirements represents compute resource requirements

type SecretEnvSource

type SecretEnvSource struct {
	Name     string `json:"name,omitempty"`
	Optional *bool  `json:"optional,omitempty"`
}

SecretEnvSource selects a Secret to populate environment variables

type SecretKeySelector

type SecretKeySelector struct {
	Key      string `json:"key"`
	Name     string `json:"name,omitempty"`
	Optional *bool  `json:"optional,omitempty"`
}

SecretKeySelector selects a key from a Secret

type SecretProjection

type SecretProjection struct {
	Items    []KeyToPath `json:"items,omitempty"`
	Name     string      `json:"name,omitempty"`
	Optional *bool       `json:"optional,omitempty"`
}

SecretProjection adapts a Secret into a projected volume

type SecretVolumeSource

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

SecretVolumeSource adapts a Secret into a volume

type SecurityContext

type SecurityContext struct {
	Capabilities           *Capabilities `json:"capabilities,omitempty"`
	ProcMount              string        `json:"procMount,omitempty"`
	ReadOnlyRootFilesystem *bool         `json:"readOnlyRootFilesystem,omitempty"`
	RunAsGroup             *int64        `json:"runAsGroup,omitempty"`
	RunAsNonRoot           *bool         `json:"runAsNonRoot,omitempty"`
	RunAsUser              *int64        `json:"runAsUser,omitempty"`
}

SecurityContext represents security options for a container

type Sysctl

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

Sysctl represents a kernel parameter to be set

type TCPSocketAction

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

TCPSocketAction represents a TCP socket action

type TopologySpreadConstraint

type TopologySpreadConstraint struct {
	LabelSelector      *LabelSelector `json:"labelSelector,omitempty"`
	MatchLabelKeys     []string       `json:"matchLabelKeys,omitempty"`
	MaxSkew            int32          `json:"maxSkew"`
	MinDomains         *int32         `json:"minDomains,omitempty"`
	NodeAffinityPolicy string         `json:"nodeAffinityPolicy,omitempty"`
	NodeTaintsPolicy   string         `json:"nodeTaintsPolicy,omitempty"`
	TopologyKey        string         `json:"topologyKey"`
	WhenUnsatisfiable  string         `json:"whenUnsatisfiable"`
}

TopologySpreadConstraint represents how to spread pods

type TypedLocalObjectReference

type TypedLocalObjectReference struct {
	APIGroup string `json:"apiGroup,omitempty"`
	Kind     string `json:"kind"`
	Name     string `json:"name"`
}

TypedLocalObjectReference contains enough information to locate the referenced object

type Volume

type Volume struct {
	ConfigMap             *ConfigMapVolumeSource             `json:"configMap,omitempty"`
	DownwardAPI           *DownwardAPIVolumeSource           `json:"downwardAPI,omitempty"`
	EmptyDir              *EmptyDirVolumeSource              `json:"emptyDir,omitempty"`
	Ephemeral             *EphemeralVolumeSource             `json:"ephemeral,omitempty"`
	Name                  string                             `json:"name"`
	NFS                   *NFSVolumeSource                   `json:"nfs,omitempty"`
	PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"`
	Projected             *ProjectedVolumeSource             `json:"projected,omitempty"`
	Secret                *SecretVolumeSource                `json:"secret,omitempty"`
}

Volume represents a pod volume

type VolumeMount

type VolumeMount struct {
	ExtendPathMode string `json:"extendPathMode,omitempty"`
	MountPath      string `json:"mountPath"`
	Name           string `json:"name"`
	ReadOnly       bool   `json:"readOnly,omitempty"`
	SubPath        string `json:"subPath,omitempty"`
	SubPathExpr    string `json:"subPathExpr,omitempty"`
}

VolumeMount represents the mounting of a volume in a container

type VolumeProjection

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

VolumeProjection represents a projected volume source

type WeightedPodAffinityTerm

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

WeightedPodAffinityTerm represents a weighted pod affinity term

Jump to

Keyboard shortcuts

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