v1alpha1

package
v0.0.0-...-8b5ec9c Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the prestodb v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=prestodb.io

Package v1alpha1 contains API Schema definitions for the prestodb v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=prestodb.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "prestodb.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)

Functions

Types

type AutoscalingSpec

type AutoscalingSpec struct {
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty"`
	// +kubebuilder:validation:Maximum=10000
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	// +kubebuilder:validation:Maximum=10000
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Optional
	MaxReplicas *int32 `json:"maxReplicas,omitempty"`

	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Optional
	TargetCPUUtilizationPercentage *int32 `json:"targetCPUUtilizationPercentage,omitempty"`
}

+k8s:openapi-gen=true

func (*AutoscalingSpec) DeepCopy

func (in *AutoscalingSpec) DeepCopy() *AutoscalingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingSpec.

func (*AutoscalingSpec) DeepCopyInto

func (in *AutoscalingSpec) DeepCopyInto(out *AutoscalingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CatalogList

type CatalogList struct {
	// Secret names in the same namespace
	// +kubebuilder:validation:Optional
	CatalogSecrets []CatalogSecret `json:"catalogSecrets,omitempty"`
	// +kubebuilder:validation:Optional
	CatalogSpec []CatalogSpec `json:"catalogSpec,omitempty"`
}

+k8s:openapi-gen=true

func (*CatalogList) DeepCopy

func (in *CatalogList) DeepCopy() *CatalogList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogList.

func (*CatalogList) DeepCopyInto

func (in *CatalogList) DeepCopyInto(out *CatalogList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CatalogSecret

type CatalogSecret struct {
	// +kubebuilder:validation:Required
	SecretName string `json:"secretName,omitempty"`
	// +kubebuilder:validation:Required
	SecretKey string `json:"secretKey,omitempty"`
}

+k8s:openapi-gen=true one has to create catalogs as secret using the following command in order to use this kubectl create secret generic secretName --from-literal=secretKey1='connector.name=tpch' --from-literal=secretKey2='connector.name=tpcds'

func (*CatalogSecret) DeepCopy

func (in *CatalogSecret) DeepCopy() *CatalogSecret

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSecret.

func (*CatalogSecret) DeepCopyInto

func (in *CatalogSecret) DeepCopyInto(out *CatalogSecret)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CatalogSpec

type CatalogSpec struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// +kubebuilder:validation:Required
	Content map[string]string `json:"content"`
}

+k8s:openapi-gen=true

func (*CatalogSpec) DeepCopy

func (in *CatalogSpec) DeepCopy() *CatalogSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSpec.

func (*CatalogSpec) DeepCopyInto

func (in *CatalogSpec) DeepCopyInto(out *CatalogSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterState

type ClusterState string

+k8s:openapi-gen=true

const (
	ClusterFailedState ClusterState = "Failed"
	ClusterReadyState  ClusterState = "Ready"
	ClusterPending     ClusterState = "Pending"
	ClusterUnknown     ClusterState = "Unknown"
)

type CoordinatorSpec

type CoordinatorSpec struct {
	// +kubebuilder:validation:Required
	MemoryLimit string `json:"memoryLimit"`
	// +kubebuilder:validation:Optional
	AdditionalJVMConfig string `json:"additionalJVMConfig,omitempty"`
	// +kubebuilder:validation:Optional
	AdditionalProps map[string]string `json:"additionalProps,omitempty"`
	// +kubebuilder:validation:Required
	CpuLimit string `json:"cpuLimit"`
	// +kubebuilder:validation:Optional
	CpuRequest string `json:"cpuRequest,omitempty"`
	// +kubebuilder:validation:Optional
	HttpsEnabled bool `json:"httpsEnabled,omitempty"`
	// +kubebuilder:validation:Optional
	HttpsKeyPairSecretName string `json:"httpsKeyPairSecretName,omitempty"`
	// +kubebuilder:validation:Optional
	HttpsKeyPairSecretKey string `json:"httpsKeyPairSecretKey,omitempty"`
	// +kubebuilder:validation:Optional
	HttpsKeyPairPassword string `json:"httpsKeyPairPassword,omitempty"`
}

+k8s:openapi-gen=true

func (*CoordinatorSpec) DeepCopy

func (in *CoordinatorSpec) DeepCopy() *CoordinatorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoordinatorSpec.

func (*CoordinatorSpec) DeepCopyInto

func (in *CoordinatorSpec) DeepCopyInto(out *CoordinatorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HMSSpec

type HMSSpec struct {
}

+k8s:openapi-gen=true

func (*HMSSpec) DeepCopy

func (in *HMSSpec) DeepCopy() *HMSSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HMSSpec.

func (*HMSSpec) DeepCopyInto

func (in *HMSSpec) DeepCopyInto(out *HMSSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageSpec

type ImageSpec struct {
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	//	+kubebuilder:validation:Optional
	PrestoPath string `json:"prestoPath"`
}

+k8s:openapi-gen=true

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Presto

type Presto struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PrestoSpec   `json:"spec,omitempty"`
	Status PrestoStatus `json:"status,omitempty"`
}

Presto is the Schema for the prestos API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=prestos,scope=Namespaced +kubebuilder:printcolumn:name="Coordinator",type="string",JSONPath=`.status.coordinatorAddress` +kubebuilder:printcolumn:name="ClusterState",type="string",JSONPath=`.status.clusterState` +kubebuilder:printcolumn:name="CoordinatorCPU",type="string",JSONPath=`.status.coordinatorCPU` +kubebuilder:printcolumn:name="WorkersCPU",type="string",JSONPath=`.status.workerCPU` +kubebuilder:printcolumn:name="DesiredWorkers",type="string",JSONPath=`.status.desiredWorkers` +kubebuilder:printcolumn:name="CurrentWorkers",type="string",JSONPath=`.status.currentWorkers`

func (*Presto) DeepCopy

func (in *Presto) DeepCopy() *Presto

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Presto.

func (*Presto) DeepCopyInto

func (in *Presto) DeepCopyInto(out *Presto)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Presto) DeepCopyObject

func (in *Presto) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Presto) SetupWebhookWithManager

func (r *Presto) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Presto) ValidateCreate

func (r *Presto) ValidateCreate() error

func (*Presto) ValidateDelete

func (r *Presto) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Presto) ValidateUpdate

func (r *Presto) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type PrestoList

type PrestoList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Presto `json:"items"`
}

PrestoList contains a list of Presto

func (*PrestoList) DeepCopy

func (in *PrestoList) DeepCopy() *PrestoList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoList.

func (*PrestoList) DeepCopyInto

func (in *PrestoList) DeepCopyInto(out *PrestoList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PrestoList) DeepCopyObject

func (in *PrestoList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PrestoSpec

type PrestoSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	//	+kubebuilder:validation:Required
	Coordinator CoordinatorSpec `json:"coordinator"`
	// +kubebuilder:validation:Required
	Worker WorkerSpec `json:"worker"`
	// +kubebuilder:validation:Optional
	Catalogs CatalogList `json:"catalogs,omitempty"`
	// +kubebuilder:validation:Optional
	Service ServiceSpec `json:"service,omitempty"`
	// +kubebuilder:validation:Optional
	InternalHiveMetaStore HMSSpec `json:"internalHiveMetaStore",omitempty`
	// +kubebuilder:validation:Optional
	ImageDetails ImageSpec `json:"imageDetails",omitempty`
	//additionalPrestoPropFiles:
	//   access-control.properties: |
	//    access-control.name=read-only
	//  event-listener.properties: |
	//    event-listener.name=event-logger
	//    jdbc.url=jdbc:postgresql://example.com:5432/eventlog
	//    jdbc.user=myuser
	//    jdbc.password=mypassword
	// +kubebuilder:validation:Optional
	AdditionalPrestoPropFiles map[string]string  `json:"additionalPrestoPropFiles",omitempty`
	Volumes                   []PrestoVolumeSpec `json:"volumes,omitempty"`
}

PrestoSpec defines the desired state of Presto +k8s:openapi-gen=true

func (*PrestoSpec) DeepCopy

func (in *PrestoSpec) DeepCopy() *PrestoSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoSpec.

func (*PrestoSpec) DeepCopyInto

func (in *PrestoSpec) DeepCopyInto(out *PrestoSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrestoStatus

type PrestoStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file
	// Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html
	Uuid string `json:"uuid"`
	// +kubebuilder:validation:Optional
	DesiredWorkers int32 `json:"desiredWorkers"`
	// +kubebuilder:validation:Optional
	CurrentWorkers int32 `json:"currentWorkers"`
	// +kubebuilder:validation:Optional
	HeadlessService string `json:"headlessService"`
	// +kubebuilder:validation:Optional
	Service string `json:"service"`
	// +kubebuilder:validation:Optional
	CoordinatorAddress string `json:"coordinatorAddress"`
	// +kubebuilder:validation:Optional
	CatalogConfig string `json:"catalogConfig"`
	// +kubebuilder:validation:Optional
	CoordinatorConfig string `json:"coordinatorConfig"`
	// +kubebuilder:validation:Optional
	WorkerConfig string `json:"workerConfig"`
	// +kubebuilder:validation:Optional
	WorkerReplicaset string `json:"workerReplicaset"`
	// +kubebuilder:validation:Optional
	CoordinatorReplicaset string `json:"coordinatorReplicaset"`
	// +kubebuilder:validation:Optional
	HpaName string `json:"hpaName"`
	// +kubebuilder:validation:Optional
	ClusterState ClusterState `json:"clusterState"`
	// +kubebuilder:validation:Optional
	ErrorReason string `json:"errorReason"`
	// +kubebuilder:validation:Optional
	ModificationTime metav1.Time `json:"modificationTime,omitempty"`
	// +kubebuilder:validation:Optional
	CoordinatorCPU string `json:"coordinatorCPU,omitempty"`
	// +kubebuilder:validation:Optional
	WorkerCPU string `json:"workerCPU,omitempty"`
}

PrestoStatus defines the observed state of Presto +k8s:openapi-gen=true

func (*PrestoStatus) DeepCopy

func (in *PrestoStatus) DeepCopy() *PrestoStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoStatus.

func (*PrestoStatus) DeepCopyInto

func (in *PrestoStatus) DeepCopyInto(out *PrestoStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PrestoVolumeSpec

type PrestoVolumeSpec struct {
	Name string `json:"name"`

	v1.VolumeSource `json:",inline"`

	// Mounted read-only if true, read-write otherwise (false or unspecified).
	// Defaults to false.
	// +kubebuilder:validation:Optional
	ReadOnly bool `json:"readOnly,omitempty"`
	// Path within the container at which the volume should be mounted.  Must
	// not contain ':'.
	MountPath string `json:"mountPath"`
	// Path within the volume from which the container's volume should be mounted.
	// Defaults to "" (volume's root).
	// +kubebuilder:validation:Optional
	SubPath string `json:"subPath,omitempty"`
	// mountPropagation determines how mounts are propagated from the host
	// to container and the other way around.
	// When not set, MountPropagationNone is used.
	// This field is beta in 1.10.
	// +kubebuilder:validation:Optional
	MountPropagation *v1.MountPropagationMode `json:"mountPropagation,omitempty"`
	// Expanded path within the volume from which the container's volume should be mounted.
	// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
	// Defaults to "" (volume's root).
	// SubPathExpr and SubPath are mutually exclusive.
	// This field is beta in 1.15.
	// +kubebuilder:validation:Optional
	SubPathExpr string `json:"subPathExpr,omitempty"`
}

func (*PrestoVolumeSpec) DeepCopy

func (in *PrestoVolumeSpec) DeepCopy() *PrestoVolumeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrestoVolumeSpec.

func (*PrestoVolumeSpec) DeepCopyInto

func (in *PrestoVolumeSpec) DeepCopyInto(out *PrestoVolumeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceSpec

type ServiceSpec struct {
	// +kubebuilder:validation:Optional
	NodePort *int32 `json:"nodePort,omitempty"`
	// +kubebuilder:validation:Optional
	Port *int32 `json:"port,omitempty"`

	// clusterIP is the IP address of the service and is usually assigned
	// randomly by the master. If an address is specified manually and is not in
	// use by others, it will be allocated to the service; otherwise, creation
	// of the service will fail. This field can not be changed through updates.
	// Valid values are "None", empty string (""), or a valid IP address. "None"
	// can be specified for headless services when proxying is not required.
	// Only applies to types ClusterIP, NodePort, and LoadBalancer. Ignored if
	// type is ExternalName.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	// +kubebuilder:validation:Optional
	ClusterIP string `json:"clusterIP,omitempty" protobuf:"bytes,3,opt,name=clusterIP"`

	// type determines how the Service is exposed. Defaults to ClusterIP. Valid
	// options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
	// "ExternalName" maps to the specified externalName.
	// "ClusterIP" allocates a cluster-internal IP address for load-balancing to
	// endpoints. Endpoints are determined by the selector or if that is not
	// specified, by manual construction of an Endpoints object. If clusterIP is
	// "None", no virtual IP is allocated and the endpoints are published as a
	// set of endpoints rather than a stable IP.
	// "NodePort" builds on ClusterIP and allocates a port on every node which
	// routes to the clusterIP.
	// "LoadBalancer" builds on NodePort and creates an
	// external load-balancer (if supported in the current cloud) which routes
	// to the clusterIP.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	// +kubebuilder:validation:Optional
	Type v1.ServiceType `json:"type,omitempty" protobuf:"bytes,4,opt,name=type,casttype=ServiceType"`

	// externalIPs is a list of IP addresses for which nodes in the cluster
	// will also accept traffic for this service.  These IPs are not managed by
	// Kubernetes.  The user is responsible for ensuring that traffic arrives
	// at a node with this IP.  A common example is external load-balancers
	// that are not part of the Kubernetes system.
	// +kubebuilder:validation:Optional
	ExternalIPs []string `json:"externalIPs,omitempty" protobuf:"bytes,5,rep,name=externalIPs"`

	// Supports "ClientIP" and "None". Used to maintain session affinity.
	// Enable client IP based session affinity.
	// Must be ClientIP or None.
	// Defaults to None.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	// +kubebuilder:validation:Optional
	SessionAffinity v1.ServiceAffinity `json:"sessionAffinity,omitempty" protobuf:"bytes,7,opt,name=sessionAffinity,casttype=ServiceAffinity"`

	// Only applies to Service Type: LoadBalancer
	// LoadBalancer will get created with the IP specified in this field.
	// This feature depends on whether the underlying cloud-provider supports specifying
	// the loadBalancerIP when a load balancer is created.
	// This field will be ignored if the cloud-provider does not support the feature.
	// +kubebuilder:validation:Optional
	LoadBalancerIP string `json:"loadBalancerIP,omitempty" protobuf:"bytes,8,opt,name=loadBalancerIP"`

	// If specified and supported by the platform, this will restrict traffic through the cloud-provider
	// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
	// cloud-provider does not support the feature."
	// More info: https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/
	// +kubebuilder:validation:Optional
	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty" protobuf:"bytes,9,opt,name=loadBalancerSourceRanges"`

	// externalName is the external reference that kubedns or equivalent will
	// return as a CNAME record for this service. No proxying will be involved.
	// Must be a valid RFC-1123 hostname (https://tools.ietf.org/html/rfc1123)
	// and requires Type to be ExternalName.
	// +kubebuilder:validation:Optional
	ExternalName string `json:"externalName,omitempty" protobuf:"bytes,10,opt,name=externalName"`

	// externalTrafficPolicy denotes if this Service desires to route external
	// traffic to node-local or cluster-wide endpoints. "Local" preserves the
	// client source IP and avoids a second hop for LoadBalancer and Nodeport
	// type services, but risks potentially imbalanced traffic spreading.
	// "Cluster" obscures the client source IP and may cause a second hop to
	// another node, but should have good overall load-spreading.
	// +kubebuilder:validation:Optional
	ExternalTrafficPolicy v1.ServiceExternalTrafficPolicyType `json:"externalTrafficPolicy,omitempty" protobuf:"bytes,11,opt,name=externalTrafficPolicy"`

	// healthCheckNodePort specifies the healthcheck nodePort for the service.
	// If not specified, HealthCheckNodePort is created by the service api
	// backend with the allocated nodePort. Will use user-specified nodePort value
	// if specified by the client. Only effects when Type is set to LoadBalancer
	// and ExternalTrafficPolicy is set to Local.
	// +kubebuilder:validation:Optional
	HealthCheckNodePort int32 `json:"healthCheckNodePort,omitempty" protobuf:"bytes,12,opt,name=healthCheckNodePort"`

	// publishNotReadyAddresses, when set to true, indicates that DNS implementations
	// must publish the notReadyAddresses of subsets for the Endpoints associated with
	// the Service. The default value is false.
	// The primary use case for setting this field is to use a StatefulSet's Headless Service
	// to propagate SRV records for its Pods without respect to their readiness for purpose
	// of peer discovery.
	// +kubebuilder:validation:Optional
	PublishNotReadyAddresses bool `json:"publishNotReadyAddresses,omitempty" protobuf:"varint,13,opt,name=publishNotReadyAddresses"`

	// sessionAffinityConfig contains the configurations of session affinity.
	// +kubebuilder:validation:Optional
	SessionAffinityConfig *v1.SessionAffinityConfig `json:"sessionAffinityConfig,omitempty" protobuf:"bytes,14,opt,name=sessionAffinityConfig"`

	// +kubebuilder:validation:Optional
	IPFamily *v1.IPFamily `json:"ipFamily,omitempty" protobuf:"bytes,15,opt,name=ipFamily,Configcasttype=IPFamily"`
}

+k8s:openapi-gen=true ServiceSpec describes the attributes that a user creates on a service. Following is a copy of v1.ServiceSpec except that Ports is an optional field and Selectors field is removed.

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceSpec.

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WorkerSpec

type WorkerSpec struct {
	// +kubebuilder:validation:Required
	MemoryLimit string `json:"memoryLimit"`
	// +kubebuilder:validation:Optional
	AdditionalJVMConfig string `json:"additionalJVMConfig,omitempty"`
	// +kubebuilder:validation:Optional
	AdditionalProps map[string]string `json:"additionalProps,omitempty"`
	// +kubebuilder:validation:Required
	CpuLimit string `json:"cpuLimit"`
	// +kubebuilder:validation:Optional
	CpuRequest string `json:"cpuRequest,omitempty"`
	// Optional duration in seconds the pod needs to terminate gracefully.
	// Value must be non-negative integer. The value zero indicates delete immediately.
	// If this value is nil, the default grace period will be used instead.
	// The grace period is the duration in seconds after the processes running in the pod are sent
	// a termination signal and the time when the processes are forcibly halted with a kill signal.
	// Set this value longer than the expected cleanup time for your process.
	// Defaults to 7200 seconds.
	// +optional
	// +kubebuilder:validation:Optional
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// +kubebuilder:validation:Maximum=10000
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Required
	Count *int32 `json:"count"`

	// +kubebuilder:validation:Optional
	Autoscaling AutoscalingSpec `json:"autoscaling,omitempty"`
}

+k8s:openapi-gen=true

func (*WorkerSpec) DeepCopy

func (in *WorkerSpec) DeepCopy() *WorkerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerSpec.

func (*WorkerSpec) DeepCopyInto

func (in *WorkerSpec) DeepCopyInto(out *WorkerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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