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: 0

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