v1alpha1

package
v0.20.1 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the cloud v1alpha1 API group +kubebuilder:object:generate=true +groupName=compute.functionmesh.io

Package v1alpha1 contains API Schema definitions for the cloud v1alpha1 API group +kubebuilder:object:generate=true +groupName=compute.functionmesh.io

Index

Constants

View Source
const (
	FunctionComponent string = "function"
	SourceComponent   string = "source"
	SinkComponent     string = "sink"
)
View Source
const (
	BatchSourceConfigKey    string = "__BATCHSOURCECONFIGS__"
	BatchSourceClassNameKey string = "__BATCHSOURCECLASSNAME__"
	// BatchSourceClass the source class for batch source
	BatchSourceClass string = "org.apache.pulsar.functions.source.batch.BatchSourceExecutor"
)

Variables

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

	// SchemeGroupVersion is group version used to register these objects
	// added for generated clientset
	SchemeGroupVersion = GroupVersion

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AuthConfig

type AuthConfig struct {
	OAuth2Config *OAuth2Config `json:"oauth2Config,omitempty"`
	GenericAuth  *GenericAuth  `json:"genericAuth,omitempty"`
}

func (*AuthConfig) DeepCopy

func (in *AuthConfig) DeepCopy() *AuthConfig

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

func (*AuthConfig) DeepCopyInto

func (in *AuthConfig) DeepCopyInto(out *AuthConfig)

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

type BatchSourceConfig added in v0.8.0

type BatchSourceConfig struct {
	// +kubebuilder:validation:Required
	DiscoveryTriggererClassName string `json:"discoveryTriggererClassName"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	DiscoveryTriggererConfig *Config `json:"discoveryTriggererConfig,omitempty"`
}

func (*BatchSourceConfig) DeepCopy added in v0.8.0

func (in *BatchSourceConfig) DeepCopy() *BatchSourceConfig

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

func (*BatchSourceConfig) DeepCopyInto added in v0.8.0

func (in *BatchSourceConfig) DeepCopyInto(out *BatchSourceConfig)

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

type BuiltinHPARule

type BuiltinHPARule string
const (
	AverageUtilizationCPUPercent80 BuiltinHPARule = "AverageUtilizationCPUPercent80"
	AverageUtilizationCPUPercent50 BuiltinHPARule = "AverageUtilizationCPUPercent50"
	AverageUtilizationCPUPercent20 BuiltinHPARule = "AverageUtilizationCPUPercent20"

	AverageUtilizationMemoryPercent80 BuiltinHPARule = "AverageUtilizationMemoryPercent80"
	AverageUtilizationMemoryPercent50 BuiltinHPARule = "AverageUtilizationMemoryPercent50"
	AverageUtilizationMemoryPercent20 BuiltinHPARule = "AverageUtilizationMemoryPercent20"
)

type Component

type Component string
const (
	StatefulSet Component = "StatefulSet"
	Service     Component = "Service"
	HPA         Component = "HorizontalPodAutoscaler"
	VPA         Component = "VerticalPodAutoscaler"
)

type CompressionType added in v0.14.0

type CompressionType string

CompressionType enum type +kubebuilder:validation:Enum=NONE;LZ4;ZLIB;ZSTD;SNAPPY

const (
	LZ4    CompressionType = "LZ4"
	NONE   CompressionType = "NONE"
	ZLIB   CompressionType = "ZLIB"
	ZSTD   CompressionType = "ZSTD"
	SNAPPY CompressionType = "SNAPPY"
)

type Config

type Config struct {
	// Data holds the configuration keys and values.
	// This field exists to work around https://github.com/kubernetes-sigs/kubebuilder/issues/528
	Data map[string]interface{} `json:"-"`
}

Config represents untyped YAML configuration.

func NewConfig

func NewConfig(cfg map[string]interface{}) Config

NewConfig constructs a Config with the given unstructured configuration data.

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (c *Config) DeepCopyInto(out *Config)

DeepCopyInto is an ~autogenerated~ deepcopy function, copying the receiver, writing into out. in must be non-nil. This exists here to work around https://github.com/kubernetes/code-generator/issues/50

func (*Config) MarshalJSON

func (c *Config) MarshalJSON() ([]byte, error)

MarshalJSON implements the Marshaler interface.

func (*Config) UnmarshalJSON

func (c *Config) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the Unmarshaler interface.

type ConsumerConfig

type ConsumerConfig struct {
	SchemaType         string            `json:"schemaType,omitempty"`
	SerdeClassName     string            `json:"serdeClassname,omitempty"`
	IsRegexPattern     bool              `json:"isRegexPattern,omitempty"`
	SchemaProperties   map[string]string `json:"schemaProperties,omitempty"`
	ConsumerProperties map[string]string `json:"consumerProperties,omitempty"`
	ReceiverQueueSize  *int32            `json:"receiverQueueSize,omitempty"`
	CryptoConfig       *CryptoConfig     `json:"cryptoConfig,omitempty"`
}

func (*ConsumerConfig) DeepCopy

func (in *ConsumerConfig) DeepCopy() *ConsumerConfig

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

func (*ConsumerConfig) DeepCopyInto

func (in *ConsumerConfig) DeepCopyInto(out *ConsumerConfig)

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

type CryptoConfig

type CryptoConfig struct {
	CryptoKeyReaderClassName    string            `json:"cryptoKeyReaderClassName,omitempty"`
	CryptoKeyReaderConfig       map[string]string `json:"cryptoKeyReaderConfig,omitempty"`
	EncryptionKeys              []string          `json:"encryptionKeys,omitempty"`
	ProducerCryptoFailureAction string            `json:"producerCryptoFailureAction,omitempty"`
	ConsumerCryptoFailureAction string            `json:"consumerCryptoFailureAction,omitempty"`
	CryptoSecrets               []CryptoSecret    `json:"cryptoSecrets,omitempty"`
}

func (*CryptoConfig) DeepCopy

func (in *CryptoConfig) DeepCopy() *CryptoConfig

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

func (*CryptoConfig) DeepCopyInto

func (in *CryptoConfig) DeepCopyInto(out *CryptoConfig)

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

type CryptoSecret

type CryptoSecret struct {
	SecretName string `json:"secretName"`
	SecretKey  string `json:"secretKey"`
	AsVolume   string `json:"asVolume,omitempty"`
}

func (*CryptoSecret) DeepCopy

func (in *CryptoSecret) DeepCopy() *CryptoSecret

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

func (*CryptoSecret) DeepCopyInto

func (in *CryptoSecret) DeepCopyInto(out *CryptoSecret)

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

type FormatType added in v0.15.0

type FormatType string

+kubebuilder:validation:Enum=json;text

const (
	JSON FormatType = "json"
	TEXT FormatType = "text"
)

type Function

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

	Spec   FunctionSpec   `json:"spec,omitempty"`
	Status FunctionStatus `json:"status,omitempty"`
}

Function is the Schema for the functions API +kubebuilder:pruning:PreserveUnknownFields

func (*Function) DeepCopy

func (in *Function) DeepCopy() *Function

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

func (*Function) DeepCopyInto

func (in *Function) DeepCopyInto(out *Function)

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

func (*Function) DeepCopyObject

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

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

type FunctionList

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

FunctionList contains a list of Function

func (*FunctionList) DeepCopy

func (in *FunctionList) DeepCopy() *FunctionList

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

func (*FunctionList) DeepCopyInto

func (in *FunctionList) DeepCopyInto(out *FunctionList)

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

func (*FunctionList) DeepCopyObject

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

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

type FunctionMesh

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

	Spec   FunctionMeshSpec   `json:"spec,omitempty"`
	Status FunctionMeshStatus `json:"status,omitempty"`
}

FunctionMesh is the Schema for the functionmeshes API

func (*FunctionMesh) DeepCopy

func (in *FunctionMesh) DeepCopy() *FunctionMesh

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

func (*FunctionMesh) DeepCopyInto

func (in *FunctionMesh) DeepCopyInto(out *FunctionMesh)

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

func (*FunctionMesh) DeepCopyObject

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

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

type FunctionMeshList

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

FunctionMeshList contains a list of FunctionMesh

func (*FunctionMeshList) DeepCopy

func (in *FunctionMeshList) DeepCopy() *FunctionMeshList

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

func (*FunctionMeshList) DeepCopyInto

func (in *FunctionMeshList) DeepCopyInto(out *FunctionMeshList)

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

func (*FunctionMeshList) DeepCopyObject

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

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

type FunctionMeshSpec

type FunctionMeshSpec struct {
	Sources   []SourceSpec   `json:"sources,omitempty"`
	Sinks     []SinkSpec     `json:"sinks,omitempty"`
	Functions []FunctionSpec `json:"functions,omitempty"`
}

FunctionMeshSpec defines the desired state of FunctionMesh

func (*FunctionMeshSpec) DeepCopy

func (in *FunctionMeshSpec) DeepCopy() *FunctionMeshSpec

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

func (*FunctionMeshSpec) DeepCopyInto

func (in *FunctionMeshSpec) DeepCopyInto(out *FunctionMeshSpec)

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

type FunctionMeshStatus

type FunctionMeshStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	SourceConditions   map[string]ResourceCondition `json:"sourceConditions,omitempty"`
	SinkConditions     map[string]ResourceCondition `json:"sinkConditions,omitempty"`
	FunctionConditions map[string]ResourceCondition `json:"functionConditions,omitempty"`
	ObservedGeneration int64                        `json:"observedGeneration,omitempty"`
	Condition          *ResourceCondition           `json:"condition,omitempty"`
}

FunctionMeshStatus defines the observed state of FunctionMesh

func (*FunctionMeshStatus) DeepCopy

func (in *FunctionMeshStatus) DeepCopy() *FunctionMeshStatus

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

func (*FunctionMeshStatus) DeepCopyInto

func (in *FunctionMeshStatus) DeepCopyInto(out *FunctionMeshStatus)

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

type FunctionSpec

type FunctionSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Name        string `json:"name,omitempty"`
	ClassName   string `json:"className,omitempty"`
	Tenant      string `json:"tenant,omitempty"`
	Namespace   string `json:"namespace,omitempty"`
	ClusterName string `json:"clusterName,omitempty"`
	// +kubebuilder:validation:Minimum=0
	Replicas *int32 `json:"replicas,omitempty"`
	// Whether show the precise parallelism, if true, the `Parallelism` will be equal to the `Replicas`,
	// in such case, update the `Replicas` will cause all pods being recreated since the command of pod is updated.
	// else, the `Parallelism` will be 1, default to false.
	// It just affects the result of context.getNumInstances, there will be only 1 process and 1 thread in each pod in any cases.
	ShowPreciseParallelism bool `json:"showPreciseParallelism,omitempty"`
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	DownloaderImage string `json:"downloaderImage,omitempty"`
	// the image used to clean up subscription, if empty, the runner image will be used
	CleanupImage string `json:"cleanupImage,omitempty"`

	// MaxReplicas indicates the maximum number of replicas and enables the HorizontalPodAutoscaler
	// If provided, a default HPA with CPU at average of 80% will be used.
	// For complex HPA strategies, please refer to Pod.HPAutoscaler.
	MaxReplicas   *int32        `json:"maxReplicas,omitempty"` // if provided, turn on autoscaling
	Input         InputConf     `json:"input,omitempty"`
	Output        OutputConf    `json:"output,omitempty"`
	LogTopic      string        `json:"logTopic,omitempty"`
	LogTopicAgent LogTopicAgent `json:"logTopicAgent,omitempty"`
	FilebeatImage string        `json:"filebeatImage,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	FuncConfig   *Config                     `json:"funcConfig,omitempty"`
	Resources    corev1.ResourceRequirements `json:"resources,omitempty"`
	SecretsMap   map[string]SecretRef        `json:"secretsMap,omitempty"`
	VolumeMounts []corev1.VolumeMount        `json:"volumeMounts,omitempty"`

	Timeout                      int32            `json:"timeout,omitempty"`
	AutoAck                      *bool            `json:"autoAck,omitempty"`
	MaxMessageRetry              int32            `json:"maxMessageRetry,omitempty"`
	ProcessingGuarantee          ProcessGuarantee `json:"processingGuarantee,omitempty"`
	RetainOrdering               bool             `json:"retainOrdering,omitempty"`
	RetainKeyOrdering            bool             `json:"retainKeyOrdering,omitempty"`
	DeadLetterTopic              string           `json:"deadLetterTopic,omitempty"`
	ForwardSourceMessageProperty *bool            `json:"forwardSourceMessageProperty,omitempty"`
	MaxPendingAsyncRequests      *int32           `json:"maxPendingAsyncRequests,omitempty"`

	RuntimeFlags         string            `json:"runtimeFlags,omitempty"`
	SubscriptionName     string            `json:"subscriptionName,omitempty"`
	CleanupSubscription  bool              `json:"cleanupSubscription,omitempty"`
	SubscriptionPosition SubscribePosition `json:"subscriptionPosition,omitempty"`
	SkipToLatest         bool              `json:"skipToLatest,omitempty"`

	Pod PodPolicy `json:"pod,omitempty"`

	WindowConfig *WindowConfig `json:"windowConfig,omitempty"`

	// +kubebuilder:validation:Required
	Messaging `json:",inline"`

	// +kubebuilder:validation:Required
	Runtime `json:",inline"`

	// Image is the container image used to run function pods.
	// default is streamnative/pulsar-functions-java-runner
	Image string `json:"image,omitempty"`

	// Image pull policy, one of Always, Never, IfNotPresent, default to IfNotPresent.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Image which has pulsarctl will use pulsarctl to download package and do cleanup
	ImageHasPulsarctl bool `json:"imageHasPulsarctl,omitempty"`
	// Image which has wget will use wget to download http package
	ImageHasWget bool `json:"imageHasGet,omitempty"`

	// +kubebuilder:validation:Optional
	StateConfig *Stateful `json:"statefulConfig,omitempty"`

	// +kubebuilder:validation:Optional
	VolumeClaimTemplates []corev1.PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`

	// +kubebuilder:validation:Optional
	PersistentVolumeClaimRetentionPolicy *appsv1.StatefulSetPersistentVolumeClaimRetentionPolicy `json:"persistentVolumeClaimRetentionPolicy,omitempty"`
}

FunctionSpec defines the desired state of Function +kubebuilder:validation:Optional

func (*FunctionSpec) DeepCopy

func (in *FunctionSpec) DeepCopy() *FunctionSpec

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

func (*FunctionSpec) DeepCopyInto

func (in *FunctionSpec) DeepCopyInto(out *FunctionSpec)

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

type FunctionStatus

type FunctionStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions         map[Component]ResourceCondition `json:"conditions"`
	Replicas           int32                           `json:"replicas"`
	Selector           string                          `json:"selector"`
	ObservedGeneration int64                           `json:"observedGeneration,omitempty"`
}

FunctionStatus defines the observed state of Function

func (*FunctionStatus) DeepCopy

func (in *FunctionStatus) DeepCopy() *FunctionStatus

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

func (*FunctionStatus) DeepCopyInto

func (in *FunctionStatus) DeepCopyInto(out *FunctionStatus)

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

type GenericAuth added in v0.13.0

type GenericAuth struct {
	ClientAuthenticationPlugin     string `json:"clientAuthenticationPlugin"`
	ClientAuthenticationParameters string `json:"clientAuthenticationParameters"`
}

func (*GenericAuth) DeepCopy added in v0.13.0

func (in *GenericAuth) DeepCopy() *GenericAuth

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

func (*GenericAuth) DeepCopyInto added in v0.13.0

func (in *GenericAuth) DeepCopyInto(out *GenericAuth)

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

type GenericRuntime added in v0.18.0

type GenericRuntime struct {
	// +kubebuilder:validation:Required
	FunctionFile string `json:"functionFile"`
	// +kubebuilder:validation:Required
	Language             string `json:"language"`
	FunctionFileLocation string `json:"functionFileLocation,omitempty"`
}

GenericRuntime contains the generic runtime configs +kubebuilder:validation:Optional

func (*GenericRuntime) DeepCopy added in v0.18.0

func (in *GenericRuntime) DeepCopy() *GenericRuntime

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

func (*GenericRuntime) DeepCopyInto added in v0.18.0

func (in *GenericRuntime) DeepCopyInto(out *GenericRuntime)

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

type GoRuntime

type GoRuntime struct {
	// +kubebuilder:validation:Required
	Go         string            `json:"go"`
	GoLocation string            `json:"goLocation,omitempty"`
	Log        *RuntimeLogConfig `json:"log,omitempty"`
}

GoRuntime contains the golang runtime configs +kubebuilder:validation:Optional

func (*GoRuntime) DeepCopy

func (in *GoRuntime) DeepCopy() *GoRuntime

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

func (*GoRuntime) DeepCopyInto

func (in *GoRuntime) DeepCopyInto(out *GoRuntime)

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

type InputConf

type InputConf struct {
	TypeClassName       string                    `json:"typeClassName,omitempty"`
	Topics              []string                  `json:"topics,omitempty"`
	TopicPattern        string                    `json:"topicPattern,omitempty"`
	CustomSerdeSources  map[string]string         `json:"customSerdeSources,omitempty"`
	CustomSchemaSources map[string]string         `json:"customSchemaSources,omitempty"`
	SourceSpecs         map[string]ConsumerConfig `json:"sourceSpecs,omitempty"`
}

func (*InputConf) DeepCopy

func (in *InputConf) DeepCopy() *InputConf

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

func (*InputConf) DeepCopyInto

func (in *InputConf) DeepCopyInto(out *InputConf)

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

type JavaLog4JConfigFileType added in v0.15.0

type JavaLog4JConfigFileType string

+kubebuilder:validation:Enum=yaml;xml;ini

const (
	XML  JavaLog4JConfigFileType = "xml"
	YAML JavaLog4JConfigFileType = "yaml"
)

type JavaRuntime

type JavaRuntime struct {
	// +kubebuilder:validation:Required
	Jar                  string            `json:"jar"`
	JarLocation          string            `json:"jarLocation,omitempty"`
	ExtraDependenciesDir string            `json:"extraDependenciesDir,omitempty"`
	Log                  *RuntimeLogConfig `json:"log,omitempty"`
	JavaOpts             []string          `json:"javaOpts,omitempty"`
}

JavaRuntime contains the java runtime configs +kubebuilder:validation:Optional

func (*JavaRuntime) DeepCopy

func (in *JavaRuntime) DeepCopy() *JavaRuntime

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

func (*JavaRuntime) DeepCopyInto

func (in *JavaRuntime) DeepCopyInto(out *JavaRuntime)

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

type Liveness added in v0.9.0

type Liveness struct {
	// +kubebuilder:validation:Optional
	PeriodSeconds int32 `json:"periodSeconds,omitempty"`

	// some functions may take a long time to start up(like download packages), so we need to set the initial delay
	// +kubebuilder:validation:Optional
	InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"`

	// Minimum consecutive successes for the probe to be considered successful after having failed.
	// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
	// +optional
	SuccessThreshold int32 `json:"successThreshold,omitempty"`
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	// Defaults to 3. Minimum value is 1.
	// +optional
	FailureThreshold int32 `json:"failureThreshold,omitempty"`
}

func (*Liveness) DeepCopy added in v0.9.0

func (in *Liveness) DeepCopy() *Liveness

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

func (*Liveness) DeepCopyInto added in v0.9.0

func (in *Liveness) DeepCopyInto(out *Liveness)

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

type LogConfig

type LogConfig struct {
	Name string `json:"name"`
	Key  string `json:"key"`
}

func (*LogConfig) DeepCopy

func (in *LogConfig) DeepCopy() *LogConfig

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

func (*LogConfig) DeepCopyInto

func (in *LogConfig) DeepCopyInto(out *LogConfig)

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

type LogLevel

type LogLevel string

LogLevel describes the level of the logging +kubebuilder:validation:Enum=off;trace;debug;info;warn;error;fatal;all;panic

const (
	// LogLevelOff indicates no logging and is only available for the Java runtime
	LogLevelOff LogLevel = "off"
	// LogLevelTrace indicates the detailed debugging purposes, available for Python, Go and Java runtime
	LogLevelTrace LogLevel = "trace"
	// LogLevelDebug indicates the debugging purposes, available for Python, Go and Java runtime
	LogLevelDebug LogLevel = "debug"
	// LogLevelInfo indicates the normal purposes, available for Python, Go and Java runtime
	LogLevelInfo LogLevel = "info"
	// LogLevelWarn indicates the unexpected purposes, available for Python, Go and Java runtime
	LogLevelWarn LogLevel = "warn"
	// LogLevelError indicates the errors have occurred, available for Python, Go and Java runtime
	LogLevelError LogLevel = "error"
	// LogLevelFatal indicates the server is unusable, available for Python, Go and Java runtime
	LogLevelFatal LogLevel = "fatal"
	// LogLevelAll indicates that all logs are logged and is only available for the Java runtime
	LogLevelAll LogLevel = "all"
	// LogLevelPanic indicates the server is panic and is only available for the Go runtime
	LogLevelPanic LogLevel = "panic"
)

type LogTopicAgent added in v0.16.0

type LogTopicAgent string

LogTopicAgent enum type +kubebuilder:validation:Enum=runtime;sidecar

const (
	RUNTIME LogTopicAgent = "runtime"
	SIDECAR LogTopicAgent = "sidecar"
)

type Messaging

type Messaging struct {
	Pulsar *PulsarMessaging `json:"pulsar,omitempty"`
}

func (*Messaging) DeepCopy

func (in *Messaging) DeepCopy() *Messaging

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

func (*Messaging) DeepCopyInto

func (in *Messaging) DeepCopyInto(out *Messaging)

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

type OAuth2Config

type OAuth2Config struct {
	Audience  string `json:"audience"`
	IssuerURL string `json:"issuerUrl"`
	Scope     string `json:"scope,omitempty"`
	// the secret name of the OAuth2 private key file
	KeySecretName string `json:"keySecretName"`
	// the secret key of the OAuth2 private key file, such as `auth.json`
	KeySecretKey string `json:"keySecretKey"`
}

func (*OAuth2Config) AuthenticationParameters

func (o *OAuth2Config) AuthenticationParameters() string

func (*OAuth2Config) DeepCopy

func (in *OAuth2Config) DeepCopy() *OAuth2Config

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

func (*OAuth2Config) DeepCopyInto

func (in *OAuth2Config) DeepCopyInto(out *OAuth2Config)

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

func (*OAuth2Config) GetMountFile

func (o *OAuth2Config) GetMountFile() string

func (*OAuth2Config) GetMountPath

func (o *OAuth2Config) GetMountPath() string

type OutputConf

type OutputConf struct {
	TypeClassName      string            `json:"typeClassName,omitempty"`
	Topic              string            `json:"topic,omitempty"`
	SinkSerdeClassName string            `json:"sinkSerdeClassName,omitempty"`
	SinkSchemaType     string            `json:"sinkSchemaType,omitempty"`
	ProducerConf       *ProducerConfig   `json:"producerConf,omitempty"`
	CustomSchemaSinks  map[string]string `json:"customSchemaSinks,omitempty"`
}

func (*OutputConf) DeepCopy

func (in *OutputConf) DeepCopy() *OutputConf

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

func (*OutputConf) DeepCopyInto

func (in *OutputConf) DeepCopyInto(out *OutputConf)

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

type PodPolicy

type PodPolicy struct {
	// Labels specifies the labels to attach to pod the operator creates for the cluster.
	Labels map[string]string `json:"labels,omitempty"`

	// NodeSelector specifies a map of key-value pairs. For a pod to be eligible to run
	// on a node, the node must have each of the indicated key-value pairs as labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Affinity specifies the scheduling constraints of a pod
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// Tolerations specifies the tolerations of a Pod
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`

	// Annotations specifies the annotations to attach to pods the operator creates
	Annotations map[string]string `json:"annotations,omitempty"`

	// SecurityContext specifies the security context for the entire pod
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,omitempty"`

	// TerminationGracePeriodSeconds is the amount of time that kubernetes will give
	// for a pod before terminating it.
	TerminationGracePeriodSeconds int64 `json:"terminationGracePeriodSeconds,omitempty"`

	// List of volumes that can be mounted by containers belonging to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes
	Volumes []corev1.Volume `json:"volumes,omitempty"`

	// ImagePullSecrets is an optional list of references to secrets in the same
	// namespace to use for pulling any of the images used by this PodSpec.
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// Init containers of the pod. A typical use case could be using an init
	// container to download a remote jar to a local path.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
	InitContainers []corev1.Container `json:"initContainers,omitempty"`

	// Sidecar containers running alongside with the main function container in the
	// pod.
	Sidecars []corev1.Container `json:"sidecars,omitempty"`

	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// +optional
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// BuiltinAutoscaler refers to the built-in autoscaling rules
	// Available values: AverageUtilizationCPUPercent80, AverageUtilizationCPUPercent50, AverageUtilizationCPUPercent20
	// AverageUtilizationMemoryPercent80, AverageUtilizationMemoryPercent50, AverageUtilizationMemoryPercent20
	// +optional
	// TODO: validate the rules, user may provide duplicate rules, should check with webhook
	BuiltinAutoscaler []BuiltinHPARule `json:"builtinAutoscaler,omitempty"`

	// AutoScalingMetrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).
	// More info: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.21/#metricspec-v2-autoscaling
	// +optional
	AutoScalingMetrics []autov2.MetricSpec `json:"autoScalingMetrics,omitempty"`

	// AutoScalingBehavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default HPAScalingRules for scale up and scale down are used.
	// +optional
	AutoScalingBehavior *autov2.HorizontalPodAutoscalerBehavior `json:"autoScalingBehavior,omitempty"`

	// VPA indicates whether to enable the VerticalPodAutoscaler, it should not be used with HPA
	VPA *VPASpec `json:"vpa,omitempty"`

	// Env Environment variables to expose on the pulsar-function containers
	Env []corev1.EnvVar `json:"env,omitempty"`

	Liveness *Liveness `json:"liveness,omitempty"`
}

func (*PodPolicy) DeepCopy

func (in *PodPolicy) DeepCopy() *PodPolicy

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

func (*PodPolicy) DeepCopyInto

func (in *PodPolicy) DeepCopyInto(out *PodPolicy)

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

type ProcessGuarantee

type ProcessGuarantee string

ProcessGuarantee enum type +kubebuilder:validation:Enum=atleast_once;atmost_once;effectively_once;manual

const (
	AtleastOnce     ProcessGuarantee = "atleast_once"
	AtmostOnce      ProcessGuarantee = "atmost_once"
	EffectivelyOnce ProcessGuarantee = "effectively_once"
	Manual          ProcessGuarantee = "manual"
)

type ProducerConfig

type ProducerConfig struct {
	MaxPendingMessages                 int32           `json:"maxPendingMessages,omitempty"`
	MaxPendingMessagesAcrossPartitions int32           `json:"maxPendingMessagesAcrossPartitions,omitempty"`
	UseThreadLocalProducers            bool            `json:"useThreadLocalProducers,omitempty"`
	CryptoConfig                       *CryptoConfig   `json:"cryptoConfig,omitempty"`
	BatchBuilder                       string          `json:"batchBuilder,omitempty"`
	CompressionType                    CompressionType `json:"compressionType,omitempty"`
}

func (*ProducerConfig) DeepCopy

func (in *ProducerConfig) DeepCopy() *ProducerConfig

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

func (*ProducerConfig) DeepCopyInto

func (in *ProducerConfig) DeepCopyInto(out *ProducerConfig)

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

type PulsarMessaging

type PulsarMessaging struct {
	// The config map need to contain the following fields
	// webServiceURL
	// brokerServiceURL
	PulsarConfig string `json:"pulsarConfig,omitempty"`

	// The auth secret should contain the following fields
	// clientAuthenticationPlugin
	// clientAuthenticationParameters
	AuthSecret string `json:"authSecret,omitempty"`

	// The TLS secret should contain the following fields
	// use_tls
	// tls_allow_insecure
	// hostname_verification_enabled
	// tls_trust_cert_path
	TLSSecret string `json:"tlsSecret,omitempty"`

	// To replace the TLSSecret
	TLSConfig *PulsarTLSConfig `json:"tlsConfig,omitempty"`

	// To replace the AuthSecret
	AuthConfig *AuthConfig `json:"authConfig,omitempty"`

	CleanupAuthConfig *AuthConfig `json:"cleanupAuthConfig,omitempty"`
}

func (*PulsarMessaging) DeepCopy

func (in *PulsarMessaging) DeepCopy() *PulsarMessaging

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

func (*PulsarMessaging) DeepCopyInto

func (in *PulsarMessaging) DeepCopyInto(out *PulsarMessaging)

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

type PulsarStateStore

type PulsarStateStore struct {
	// The service url points to the state store service
	// By default, the state store service is bookkeeper table service
	ServiceURL string `json:"serviceUrl"`

	// The state store config for Java runtime
	JavaProvider *PulsarStateStoreJavaProvider `json:"javaProvider,omitempty"`
}

func (*PulsarStateStore) DeepCopy

func (in *PulsarStateStore) DeepCopy() *PulsarStateStore

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

func (*PulsarStateStore) DeepCopyInto

func (in *PulsarStateStore) DeepCopyInto(out *PulsarStateStore)

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

type PulsarStateStoreJavaProvider

type PulsarStateStoreJavaProvider struct {
	// The java class name of the state store provider implementation
	// The class must implement `org.apache.pulsar.functions.instance.state.StateStoreProvider` interface
	// If not set, `org.apache.pulsar.functions.instance.state.BKStateStoreProviderImpl` will be used
	ClassName string `json:"className"`

	// The configmap of the configuration for the state store provider
	Config *Config `json:"config,omitempty"`
}

func (*PulsarStateStoreJavaProvider) DeepCopy

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

func (*PulsarStateStoreJavaProvider) DeepCopyInto

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

type PulsarTLSConfig

type PulsarTLSConfig struct {
	TLSConfig `json:",inline"`
}

func (*PulsarTLSConfig) AllowInsecureConnection

func (c *PulsarTLSConfig) AllowInsecureConnection() string

func (*PulsarTLSConfig) DeepCopy

func (in *PulsarTLSConfig) DeepCopy() *PulsarTLSConfig

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

func (*PulsarTLSConfig) DeepCopyInto

func (in *PulsarTLSConfig) DeepCopyInto(out *PulsarTLSConfig)

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

func (*PulsarTLSConfig) EnableHostnameVerification

func (c *PulsarTLSConfig) EnableHostnameVerification() string

func (*PulsarTLSConfig) GetMountPath

func (c *PulsarTLSConfig) GetMountPath() string

func (*PulsarTLSConfig) HasSecretVolume

func (c *PulsarTLSConfig) HasSecretVolume() bool

func (*PulsarTLSConfig) IsEnabled

func (c *PulsarTLSConfig) IsEnabled() bool

func (*PulsarTLSConfig) SecretKey

func (c *PulsarTLSConfig) SecretKey() string

func (*PulsarTLSConfig) SecretName

func (c *PulsarTLSConfig) SecretName() string

type PythonRuntime

type PythonRuntime struct {
	// +kubebuilder:validation:Required
	Py         string            `json:"py"`
	PyLocation string            `json:"pyLocation,omitempty"`
	Log        *RuntimeLogConfig `json:"log,omitempty"`
}

PythonRuntime contains the python runtime configs +kubebuilder:validation:Optional

func (*PythonRuntime) DeepCopy

func (in *PythonRuntime) DeepCopy() *PythonRuntime

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

func (*PythonRuntime) DeepCopyInto

func (in *PythonRuntime) DeepCopyInto(out *PythonRuntime)

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

type ReconcileAction

type ReconcileAction string
const (
	Create   ReconcileAction = "Create"
	Delete   ReconcileAction = "Delete"
	Update   ReconcileAction = "Update"
	Wait     ReconcileAction = "Wait"
	NoAction ReconcileAction = "NoAction"
)

type ResourceCondition

type ResourceCondition struct {
	Condition ResourceConditionType  `json:"condition,omitempty"`
	Status    metav1.ConditionStatus `json:"status,omitempty"`
	Action    ReconcileAction        `json:"action,omitempty"`
}

ResourceCondition The `Status` of a given `Condition` and the `Action` needed to reach the `Status`

func (*ResourceCondition) DeepCopy

func (in *ResourceCondition) DeepCopy() *ResourceCondition

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

func (*ResourceCondition) DeepCopyInto

func (in *ResourceCondition) DeepCopyInto(out *ResourceCondition)

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

func (*ResourceCondition) SetCondition added in v0.9.0

func (rc *ResourceCondition) SetCondition(condition ResourceConditionType, action ReconcileAction, status metav1.ConditionStatus)

type ResourceConditionType

type ResourceConditionType string
const (
	Orphaned ResourceConditionType = "Orphaned"

	MeshReady     ResourceConditionType = "MeshReady"
	FunctionReady ResourceConditionType = "FunctionReady"
	SourceReady   ResourceConditionType = "SourceReady"
	SinkReady     ResourceConditionType = "SinkReady"

	StatefulSetReady ResourceConditionType = "StatefulSetReady"
	ServiceReady     ResourceConditionType = "ServiceReady"
	HPAReady         ResourceConditionType = "HPAReady"
	VPAReady         ResourceConditionType = "VPAReady"
)

type Runtime

type Runtime struct {
	Java           *JavaRuntime    `json:"java,omitempty"`
	Python         *PythonRuntime  `json:"python,omitempty"`
	Golang         *GoRuntime      `json:"golang,omitempty"`
	GenericRuntime *GenericRuntime `json:"genericRuntime,omitempty"`
}

func (*Runtime) DeepCopy

func (in *Runtime) DeepCopy() *Runtime

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

func (*Runtime) DeepCopyInto

func (in *Runtime) DeepCopyInto(out *Runtime)

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

type RuntimeLogConfig

type RuntimeLogConfig struct {
	Level                   LogLevel                 `json:"level,omitempty"`
	RotatePolicy            *TriggeringPolicy        `json:"rotatePolicy,omitempty"`
	Format                  *FormatType              `json:"format,omitempty"`
	LogConfig               *LogConfig               `json:"logConfig,omitempty"`
	JavaLog4JConfigFileType *JavaLog4JConfigFileType `json:"javaLog4JConfigFileType,omitempty"`
}

func (*RuntimeLogConfig) DeepCopy

func (in *RuntimeLogConfig) DeepCopy() *RuntimeLogConfig

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

func (*RuntimeLogConfig) DeepCopyInto

func (in *RuntimeLogConfig) DeepCopyInto(out *RuntimeLogConfig)

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

type SecretRef

type SecretRef struct {
	Path string `json:"path,omitempty"`
	Key  string `json:"key,omitempty"`
}

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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

type Sink

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

	Spec   SinkSpec   `json:"spec,omitempty"`
	Status SinkStatus `json:"status,omitempty"`
}

Sink is the Schema for the sinks API +kubebuilder:pruning:PreserveUnknownFields

func (*Sink) DeepCopy

func (in *Sink) DeepCopy() *Sink

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

func (*Sink) DeepCopyInto

func (in *Sink) DeepCopyInto(out *Sink)

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

func (*Sink) DeepCopyObject

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

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

type SinkList

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

SinkList contains a list of Topic

func (*SinkList) DeepCopy

func (in *SinkList) DeepCopy() *SinkList

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

func (*SinkList) DeepCopyInto

func (in *SinkList) DeepCopyInto(out *SinkList)

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

func (*SinkList) DeepCopyObject

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

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

type SinkSpec

type SinkSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Name        string `json:"name,omitempty"`
	ClassName   string `json:"className,omitempty"`
	ClusterName string `json:"clusterName,omitempty"`
	Tenant      string `json:"tenant,omitempty"`
	Namespace   string `json:"namespace,omitempty"`
	SinkType    string `json:"sinkType,omitempty"` // refer to `--sink-type` as builtin connector
	// +kubebuilder:validation:Minimum=0
	Replicas *int32 `json:"replicas,omitempty"`
	// Whether show the precise parallelism, if true, the `Parallelism` will be equal to the `Replicas`,
	// in such case, update the `Replicas` will cause all pods being recreated since the command of pod is updated.
	// else, the `Parallelism` will be 1, default to false.
	// It just affects the result of context.getNumInstances, there will be only 1 process and 1 thread in each pod in any cases.
	ShowPreciseParallelism bool `json:"showPreciseParallelism,omitempty"`
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	DownloaderImage string `json:"downloaderImage,omitempty"`
	// the image used to clean up subscription, if empty, the runner image will be used
	CleanupImage string `json:"cleanupImage,omitempty"`

	// MaxReplicas indicates the maximum number of replicas and enables the HorizontalPodAutoscaler
	// If provided, a default HPA with CPU at average of 80% will be used.
	// For complex HPA strategies, please refer to Pod.HPAutoscaler.
	MaxReplicas *int32    `json:"maxReplicas,omitempty"` // if provided, turn on autoscaling
	Input       InputConf `json:"input,omitempty"`

	LogTopic      string        `json:"logTopic,omitempty"`
	LogTopicAgent LogTopicAgent `json:"logTopicAgent,omitempty"`
	FilebeatImage string        `json:"filebeatImage,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	SinkConfig   *Config                     `json:"sinkConfig,omitempty"`
	Resources    corev1.ResourceRequirements `json:"resources,omitempty"`
	SecretsMap   map[string]SecretRef        `json:"secretsMap,omitempty"`
	VolumeMounts []corev1.VolumeMount        `json:"volumeMounts,omitempty"`

	Timeout                      int32            `json:"timeout,omitempty"`
	NegativeAckRedeliveryDelayMs int32            `json:"negativeAckRedeliveryDelayMs,omitempty"`
	AutoAck                      *bool            `json:"autoAck,omitempty"`
	MaxMessageRetry              int32            `json:"maxMessageRetry,omitempty"`
	ProcessingGuarantee          ProcessGuarantee `json:"processingGuarantee,omitempty"`
	RetainOrdering               bool             `json:"retainOrdering,omitempty"`
	RetainKeyOrdering            bool             `json:"retainKeyOrdering,omitempty"`
	DeadLetterTopic              string           `json:"deadLetterTopic,omitempty"`

	RuntimeFlags         string            `json:"runtimeFlags,omitempty"`
	SubscriptionName     string            `json:"subscriptionName,omitempty"`
	CleanupSubscription  bool              `json:"cleanupSubscription,omitempty"`
	SubscriptionPosition SubscribePosition `json:"subscriptionPosition,omitempty"`

	Pod PodPolicy `json:"pod,omitempty"`

	// +kubebuilder:validation:Required
	Messaging `json:",inline"`
	// +kubebuilder:validation:Required
	Runtime `json:",inline"`

	// Image is the container image used to run sink pods.
	// default is streamnative/pulsar-functions-java-runner
	Image string `json:"image,omitempty"`

	// Image pull policy, one of Always, Never, IfNotPresent, default to IfNotPresent.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Image which has pulsarctl will use pulsarctl to download package and do cleanup
	ImageHasPulsarctl bool `json:"imageHasPulsarctl,omitempty"`
	// Image which has wget will use wget to download http package
	ImageHasWget bool `json:"imageHasGet,omitempty"`

	// +kubebuilder:validation:Optional
	StateConfig *Stateful `json:"statefulConfig,omitempty"`
}

SinkSpec defines the desired state of Topic +kubebuilder:validation:Optional

func (*SinkSpec) DeepCopy

func (in *SinkSpec) DeepCopy() *SinkSpec

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

func (*SinkSpec) DeepCopyInto

func (in *SinkSpec) DeepCopyInto(out *SinkSpec)

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

type SinkStatus

type SinkStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions         map[Component]ResourceCondition `json:"conditions"`
	Replicas           int32                           `json:"replicas"`
	Selector           string                          `json:"selector"`
	ObservedGeneration int64                           `json:"observedGeneration,omitempty"`
}

SinkStatus defines the observed state of Topic

func (*SinkStatus) DeepCopy

func (in *SinkStatus) DeepCopy() *SinkStatus

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

func (*SinkStatus) DeepCopyInto

func (in *SinkStatus) DeepCopyInto(out *SinkStatus)

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

type Source

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

	Spec   SourceSpec   `json:"spec,omitempty"`
	Status SourceStatus `json:"status,omitempty"`
}

Source is the Schema for the sources API +kubebuilder:pruning:PreserveUnknownFields

func (*Source) DeepCopy

func (in *Source) DeepCopy() *Source

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

func (*Source) DeepCopyInto

func (in *Source) DeepCopyInto(out *Source)

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

func (*Source) DeepCopyObject

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

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

type SourceList

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

SourceList contains a list of Source

func (*SourceList) DeepCopy

func (in *SourceList) DeepCopy() *SourceList

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

func (*SourceList) DeepCopyInto

func (in *SourceList) DeepCopyInto(out *SourceList)

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

func (*SourceList) DeepCopyObject

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

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

type SourceSpec

type SourceSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Name        string `json:"name,omitempty"`
	ClassName   string `json:"className,omitempty"`
	Tenant      string `json:"tenant,omitempty"`
	Namespace   string `json:"namespace,omitempty"`
	ClusterName string `json:"clusterName,omitempty"`
	SourceType  string `json:"sourceType,omitempty"` // refer to `--source-type` as builtin connector
	// +kubebuilder:validation:Minimum=0
	Replicas *int32 `json:"replicas,omitempty"`
	// Whether show the precise parallelism, if true, the `Parallelism` will be equal to the `Replicas`,
	// in such case, update the `Replicas` will cause all pods being recreated since the command of pod is updated.
	// else, the `Parallelism` will be 1, default to false.
	// It just affects the result of context.getNumInstances, there will be only 1 process and 1 thread in each pod in any cases.
	ShowPreciseParallelism bool `json:"showPreciseParallelism,omitempty"`
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1
	MinReplicas *int32 `json:"minReplicas,omitempty"`

	DownloaderImage string `json:"downloaderImage,omitempty"`
	// the image used to clean up subscription, if empty, the runner image will be used
	CleanupImage string `json:"cleanupImage,omitempty"`

	// MaxReplicas indicates the maximum number of replicas and enables the HorizontalPodAutoscaler
	// If provided, a default HPA with CPU at average of 80% will be used.
	// For complex HPA strategies, please refer to Pod.HPAutoscaler.
	MaxReplicas *int32     `json:"maxReplicas,omitempty"` // if provided, turn on autoscaling
	Output      OutputConf `json:"output,omitempty"`

	LogTopic      string        `json:"logTopic,omitempty"`
	LogTopicAgent LogTopicAgent `json:"logTopicAgent,omitempty"`
	FilebeatImage string        `json:"filebeatImage,omitempty"`

	BatchSourceConfig *BatchSourceConfig `json:"batchSourceConfig,omitempty"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:pruning:PreserveUnknownFields
	SourceConfig                 *Config                     `json:"sourceConfig,omitempty"`
	Resources                    corev1.ResourceRequirements `json:"resources,omitempty"`
	SecretsMap                   map[string]SecretRef        `json:"secretsMap,omitempty"`
	ProcessingGuarantee          ProcessGuarantee            `json:"processingGuarantee,omitempty"`
	RuntimeFlags                 string                      `json:"runtimeFlags,omitempty"`
	VolumeMounts                 []corev1.VolumeMount        `json:"volumeMounts,omitempty"`
	ForwardSourceMessageProperty *bool                       `json:"forwardSourceMessageProperty,omitempty"`
	Pod                          PodPolicy                   `json:"pod,omitempty"`

	// +kubebuilder:validation:Required
	Messaging `json:",inline"`

	// +kubebuilder:validation:Required
	Runtime `json:",inline"`

	// Image is the container image used to run source pods.
	// default is streamnative/pulsar-functions-java-runner
	Image string `json:"image,omitempty"`

	// Image pull policy, one of Always, Never, IfNotPresent, default to IfNotPresent.
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Image which has pulsarctl will use pulsarctl to download package and do cleanup
	ImageHasPulsarctl bool `json:"imageHasPulsarctl,omitempty"`
	// Image which has wget will use wget to download http package
	ImageHasWget bool `json:"imageHasGet,omitempty"`

	// +kubebuilder:validation:Optional
	StateConfig *Stateful `json:"statefulConfig,omitempty"`
}

SourceSpec defines the desired state of Source +kubebuilder:validation:Optional

func (*SourceSpec) DeepCopy

func (in *SourceSpec) DeepCopy() *SourceSpec

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

func (*SourceSpec) DeepCopyInto

func (in *SourceSpec) DeepCopyInto(out *SourceSpec)

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

type SourceStatus

type SourceStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions         map[Component]ResourceCondition `json:"conditions"`
	Replicas           int32                           `json:"replicas"`
	Selector           string                          `json:"selector"`
	ObservedGeneration int64                           `json:"observedGeneration,omitempty"`
}

SourceStatus defines the observed state of Source

func (*SourceStatus) DeepCopy

func (in *SourceStatus) DeepCopy() *SourceStatus

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

func (*SourceStatus) DeepCopyInto

func (in *SourceStatus) DeepCopyInto(out *SourceStatus)

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

type Stateful

type Stateful struct {
	Pulsar *PulsarStateStore `json:"pulsar,omitempty"`
}

func (*Stateful) DeepCopy

func (in *Stateful) DeepCopy() *Stateful

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

func (*Stateful) DeepCopyInto

func (in *Stateful) DeepCopyInto(out *Stateful)

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

type SubscribePosition

type SubscribePosition string

SubscribePosition enum type +kubebuilder:validation:Enum=latest;earliest

const (
	Latest   SubscribePosition = "latest"
	Earliest SubscribePosition = "earliest"
)

type TLSConfig

type TLSConfig struct {
	Enabled              bool   `json:"enabled,omitempty"`
	AllowInsecure        bool   `json:"allowInsecure,omitempty"`
	HostnameVerification bool   `json:"hostnameVerification,omitempty"`
	CertSecretName       string `json:"certSecretName,omitempty"`
	CertSecretKey        string `json:"certSecretKey,omitempty"`
}

func (*TLSConfig) DeepCopy

func (in *TLSConfig) DeepCopy() *TLSConfig

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

func (*TLSConfig) DeepCopyInto

func (in *TLSConfig) DeepCopyInto(out *TLSConfig)

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

type TriggeringPolicy

type TriggeringPolicy string

TriggeringPolicy is using to determine if a rollover should occur. +kubebuilder:validation:Enum=TimedPolicyWithDaily;TimedPolicyWithWeekly;TimedPolicyWithMonthly;SizedPolicyWith10MB;SizedPolicyWith50MB;SizedPolicyWith100MB

const (
	TimedPolicyWithDaily   TriggeringPolicy = "TimedPolicyWithDaily"
	TimedPolicyWithWeekly  TriggeringPolicy = "TimedPolicyWithWeekly"
	TimedPolicyWithMonthly TriggeringPolicy = "TimedPolicyWithMonthly"
	SizedPolicyWith10MB    TriggeringPolicy = "SizedPolicyWith10MB"
	SizedPolicyWith50MB    TriggeringPolicy = "SizedPolicyWith50MB"
	SizedPolicyWith100MB   TriggeringPolicy = "SizedPolicyWith100MB"
)

type VPASpec added in v0.8.0

type VPASpec struct {
	// Describes the rules on how changes are applied to the pods.
	// If not specified, all fields in the `PodUpdatePolicy` are set to their
	// default values.
	// +optional
	UpdatePolicy *vpav1.PodUpdatePolicy `json:"updatePolicy,omitempty"`

	// Controls how the autoscaler computes recommended resources.
	// +optional
	ResourcePolicy *vpav1.PodResourcePolicy `json:"resourcePolicy,omitempty"`
}

func (*VPASpec) DeepCopy added in v0.8.0

func (in *VPASpec) DeepCopy() *VPASpec

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

func (*VPASpec) DeepCopyInto added in v0.8.0

func (in *VPASpec) DeepCopyInto(out *VPASpec)

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

type WindowConfig

type WindowConfig struct {
	ActualWindowFunctionClassName string  `json:"actualWindowFunctionClassName"`
	WindowLengthCount             *int32  `json:"windowLengthCount,omitempty"`
	WindowLengthDurationMs        *int64  `json:"windowLengthDurationMs,omitempty"`
	SlidingIntervalCount          *int32  `json:"slidingIntervalCount,omitempty"`
	SlidingIntervalDurationMs     *int64  `json:"slidingIntervalDurationMs,omitempty"`
	LateDataTopic                 string  `json:"lateDataTopic,omitempty"`
	MaxLagMs                      *int64  `json:"maxLagMs,omitempty"`
	WatermarkEmitIntervalMs       *int64  `json:"watermarkEmitIntervalMs,omitempty"`
	TimestampExtractorClassName   *string `json:"timestampExtractorClassName,omitempty"`
}

func (*WindowConfig) DeepCopy

func (in *WindowConfig) DeepCopy() *WindowConfig

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

func (*WindowConfig) DeepCopyInto

func (in *WindowConfig) DeepCopyInto(out *WindowConfig)

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