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
- Variables
- type AuthConfig
- type BatchSourceConfig
- type BuiltinHPARule
- type Component
- type Config
- type ConsumerConfig
- type CryptoConfig
- type CryptoSecret
- type Function
- func (in *Function) DeepCopy() *Function
- func (in *Function) DeepCopyInto(out *Function)
- func (in *Function) DeepCopyObject() runtime.Object
- func (r *Function) Default()
- func (r *Function) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Function) ValidateCreate() error
- func (r *Function) ValidateDelete() error
- func (r *Function) ValidateUpdate(old runtime.Object) error
- type FunctionList
- type FunctionMesh
- type FunctionMeshList
- type FunctionMeshSpec
- type FunctionMeshStatus
- type FunctionSpec
- type FunctionStatus
- type GoRuntime
- type InputConf
- type JavaRuntime
- type LogConfig
- type LogLevel
- type Messaging
- type OAuth2Config
- type OutputConf
- type PodPolicy
- type ProcessGuarantee
- type ProducerConfig
- type PulsarMessaging
- type PulsarStateStore
- type PulsarStateStoreJavaProvider
- type PulsarTLSConfig
- func (c *PulsarTLSConfig) AllowInsecureConnection() string
- func (in *PulsarTLSConfig) DeepCopy() *PulsarTLSConfig
- func (in *PulsarTLSConfig) DeepCopyInto(out *PulsarTLSConfig)
- func (c *PulsarTLSConfig) EnableHostnameVerification() string
- func (c *PulsarTLSConfig) GetMountPath() string
- func (c *PulsarTLSConfig) HasSecretVolume() bool
- func (c *PulsarTLSConfig) IsEnabled() bool
- func (c *PulsarTLSConfig) SecretKey() string
- func (c *PulsarTLSConfig) SecretName() string
- type PythonRuntime
- type ReconcileAction
- type ResourceCondition
- type ResourceConditionType
- type Runtime
- type RuntimeLogConfig
- type SecretRef
- type Sink
- func (in *Sink) DeepCopy() *Sink
- func (in *Sink) DeepCopyInto(out *Sink)
- func (in *Sink) DeepCopyObject() runtime.Object
- func (r *Sink) Default()
- func (r *Sink) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Sink) ValidateCreate() error
- func (r *Sink) ValidateDelete() error
- func (r *Sink) ValidateUpdate(old runtime.Object) error
- type SinkList
- type SinkSpec
- type SinkStatus
- type Source
- func (in *Source) DeepCopy() *Source
- func (in *Source) DeepCopyInto(out *Source)
- func (in *Source) DeepCopyObject() runtime.Object
- func (r *Source) Default()
- func (r *Source) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Source) ValidateCreate() error
- func (r *Source) ValidateDelete() error
- func (r *Source) ValidateUpdate(old runtime.Object) error
- type SourceList
- type SourceSpec
- type SourceStatus
- type Stateful
- type SubscribePosition
- type TLSConfig
- type TriggeringPolicy
- type VPASpec
- type WindowConfig
Constants ¶
const ( AtleastOnce ProcessGuarantee = "atleast_once" AtmostOnce ProcessGuarantee = "atmost_once" EffectivelyOnce ProcessGuarantee = "effectively_once" DefaultTenant string = "public" DefaultNamespace string = "default" DefaultCluster string = "kubernetes" DefaultResourceCPU int64 = 1 DefaultResourceMemory int64 = 1073741824 )
const ( FunctionComponent string = "function" SourceComponent string = "source" SinkComponent string = "sink" PackageURLHTTP string = "http://" PackageURLHTTPS string = "https://" PackageURLFunction string = "function://" PackageURLSource string = "source://" PackageURLSink string = "sink://" )
const ( BatchSourceConfigKey string = "__BATCHSOURCECONFIGS__" BatchSourceClassNameKey string = "__BATCHSOURCECLASSNAME__" // BatchSourceClass the source class for batch source BatchSourceClass string = "org.apache.pulsar.functions.source.batch.BatchSourceExecutor" )
Variables ¶
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"`
}
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 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 (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
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 ¶
MarshalJSON implements the Marshaler interface.
func (*Config) UnmarshalJSON ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Function.
func (*Function) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Function) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Function) Default ¶
func (r *Function) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Function) SetupWebhookWithManager ¶
func (*Function) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Function) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
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"`
}
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=1
Replicas *int32 `json:"replicas,omitempty"`
// +kubebuilder:validation:Minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty"`
DownloaderImage string `json:"downloaderImage,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"`
// +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"`
Pod PodPolicy `json:"pod,omitempty"`
// TODO: windowconfig, customRuntimeOptions?
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"`
// +kubebuilder:validation:Optional
StateConfig *Stateful `json:"statefulConfig,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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GoRuntime.
func (*GoRuntime) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InputConf.
func (*InputConf) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 LogConfig ¶
func (*LogConfig) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfig.
func (*LogConfig) DeepCopyInto ¶
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 Messaging ¶
type Messaging struct {
Pulsar *PulsarMessaging `json:"pulsar,omitempty"`
}
func (*Messaging) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Messaging.
func (*Messaging) DeepCopyInto ¶
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-v2beta2-autoscaling
// +optional
AutoScalingMetrics []autov2beta2.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 *autov2beta2.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"`
}
func (*PodPolicy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodPolicy.
func (*PodPolicy) DeepCopyInto ¶
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
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"`
}
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"`
}
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 ¶
func (in *PulsarStateStoreJavaProvider) DeepCopy() *PulsarStateStoreJavaProvider
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarStateStoreJavaProvider.
func (*PulsarStateStoreJavaProvider) DeepCopyInto ¶
func (in *PulsarStateStoreJavaProvider) DeepCopyInto(out *PulsarStateStoreJavaProvider)
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"`
}
The `Status` of a given `Condition` and the `Action` needed to reach the `Status`
func CreateCondition ¶
func CreateCondition(condType ResourceConditionType, status metav1.ConditionStatus, action ReconcileAction) ResourceCondition
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.
type ResourceConditionType ¶
type ResourceConditionType string
const ( Orphaned ResourceConditionType = "Orphaned" 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"`
}
func (*Runtime) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Runtime.
func (*Runtime) DeepCopyInto ¶
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"`
LogConfig *LogConfig `json:"logConfig,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 ¶
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sink.
func (*Sink) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Sink) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Sink) Default ¶
func (r *Sink) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Sink) SetupWebhookWithManager ¶
func (*Sink) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Sink) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SinkList.
func (*SinkList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SinkList) DeepCopyObject ¶
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=1
Replicas *int32 `json:"replicas,omitempty"`
// +kubebuilder:validation:Minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty"`
DownloaderImage string `json:"downloaderImage,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"`
// +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"`
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"`
// +kubebuilder:validation:Optional
StateConfig *Stateful `json:"statefulConfig,omitempty"`
}
SinkSpec defines the desired state of Topic +kubebuilder:validation:Optional
func (*SinkSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SinkSpec.
func (*SinkSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Source.
func (*Source) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Source) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Source) Default ¶
func (r *Source) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Source) SetupWebhookWithManager ¶
func (*Source) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Source) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
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=1
Replicas *int32 `json:"replicas,omitempty"`
// +kubebuilder:validation:Minimum=1
MinReplicas *int32 `json:"minReplicas,omitempty"`
DownloaderImage string `json:"downloaderImage,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"`
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"`
// +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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Stateful.
func (*Stateful) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPASpec.
func (*VPASpec) DeepCopyInto ¶ added in v0.8.0
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.