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 BackendConfig
- type BackendConfigList
- type BackendConfigPodPolicy
- type BackendConfigSpec
- type BackendConfigStatus
- type BatchSourceConfig
- type BuiltinHPARule
- type Component
- type CompressionType
- type Config
- type ConsumerConfig
- type CryptoConfig
- type CryptoSecret
- type FormatType
- type Function
- type FunctionList
- type FunctionMesh
- type FunctionMeshList
- type FunctionMeshSpec
- type FunctionMeshStatus
- type FunctionSpec
- type FunctionStatus
- type GenericAuth
- type GenericRuntime
- type GoRuntime
- type InputConf
- type JavaLog4JConfigFileType
- type JavaRuntime
- type Liveness
- type LogConfig
- type LogLevel
- type LogTopicAgent
- 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
- type SinkList
- type SinkSpec
- type SinkStatus
- type Source
- type SourceList
- type SourceSpec
- type SourceStatus
- type Stateful
- type SubscribePosition
- type TriggeringPolicy
- type VPASpec
- type WindowConfig
- type WindowProcessGuarantee
Constants ¶
const ( FunctionComponent string = "function" SourceComponent string = "source" SinkComponent 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"` 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 BackendConfig ¶
type BackendConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BackendConfigSpec `json:"spec,omitempty"` Status BackendConfigStatus `json:"status,omitempty"` }
BackendConfig is the Schema of the global configs for all functions, sinks and sources +kubebuilder:pruning:PreserveUnknownFields
func (*BackendConfig) DeepCopy ¶
func (in *BackendConfig) DeepCopy() *BackendConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfig.
func (*BackendConfig) DeepCopyInto ¶
func (in *BackendConfig) DeepCopyInto(out *BackendConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendConfig) DeepCopyObject ¶
func (in *BackendConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendConfigList ¶
type BackendConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []BackendConfig `json:"items"` }
BackendConfigList contains a list of BackendConfig
func (*BackendConfigList) DeepCopy ¶
func (in *BackendConfigList) DeepCopy() *BackendConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfigList.
func (*BackendConfigList) DeepCopyInto ¶
func (in *BackendConfigList) DeepCopyInto(out *BackendConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendConfigList) DeepCopyObject ¶
func (in *BackendConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendConfigPodPolicy ¶
type BackendConfigPodPolicy struct { // +kubebuilder:validation:Optional Liveness *Liveness `json:"liveness,omitempty"` }
BackendConfigPodPolicy defines the policy for the pod TODO: Support more fields from PodPolicy
func (*BackendConfigPodPolicy) DeepCopy ¶
func (in *BackendConfigPodPolicy) DeepCopy() *BackendConfigPodPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfigPodPolicy.
func (*BackendConfigPodPolicy) DeepCopyInto ¶
func (in *BackendConfigPodPolicy) DeepCopyInto(out *BackendConfigPodPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendConfigSpec ¶
type BackendConfigSpec struct { // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster // Important: Run "make" to regenerate code after modifying this file Name string `json:"name,omitempty"` // +kubebuilder:validation:Optional Env map[string]string `json:"env,omitempty"` // +kubebuilder:validation:Optional Pod *BackendConfigPodPolicy `json:"pod,omitempty"` // +kubebuilder:validation:Optional // indicate whether auto update functions&sinks&source when the BackendConfig is updated AutoUpdate bool `json:"autoUpdate,omitempty"` }
BackendConfigSpec defines the desired state of BackendConfig +kubebuilder:validation:Optional
func (*BackendConfigSpec) DeepCopy ¶
func (in *BackendConfigSpec) DeepCopy() *BackendConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfigSpec.
func (*BackendConfigSpec) DeepCopyInto ¶
func (in *BackendConfigSpec) DeepCopyInto(out *BackendConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendConfigStatus ¶
type BackendConfigStatus struct { }
BackendConfigStatus defines the observed state of BackendConfig
func (*BackendConfigStatus) DeepCopy ¶
func (in *BackendConfigStatus) DeepCopy() *BackendConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendConfigStatus.
func (*BackendConfigStatus) DeepCopyInto ¶
func (in *BackendConfigStatus) DeepCopyInto(out *BackendConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BatchSourceConfig ¶
type BatchSourceConfig struct { // +kubebuilder:validation:Required DiscoveryTriggererClassName string `json:"discoveryTriggererClassName"` // +kubebuilder:validation:Optional // +kubebuilder:pruning:PreserveUnknownFields DiscoveryTriggererConfig *Config `json:"discoveryTriggererConfig,omitempty"` }
func (*BatchSourceConfig) DeepCopy ¶
func (in *BatchSourceConfig) DeepCopy() *BatchSourceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BatchSourceConfig.
func (*BatchSourceConfig) DeepCopyInto ¶
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 CompressionType ¶
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 (*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 FormatType ¶
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 ¶
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.
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"` GlobalBackendConfigRevision string `json:"globalBackendConfigRevision,omitempty"` NamespacedBackendConfigRevision string `json:"namespacedBackendConfigRevision,omitempty"` PendingChange string `json:"pendingChange,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 ¶
type GenericAuth struct { ClientAuthenticationPlugin string `json:"clientAuthenticationPlugin"` ClientAuthenticationParameters string `json:"clientAuthenticationParameters"` }
func (*GenericAuth) DeepCopy ¶
func (in *GenericAuth) DeepCopy() *GenericAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericAuth.
func (*GenericAuth) DeepCopyInto ¶
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 ¶
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 ¶
func (in *GenericRuntime) DeepCopy() *GenericRuntime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericRuntime.
func (*GenericRuntime) DeepCopyInto ¶
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 ¶
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 JavaLog4JConfigFileType ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Liveness.
func (*Liveness) DeepCopyInto ¶
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 LogTopicAgent ¶
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 ¶
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-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 ¶
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;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 ¶
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 { 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 (*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 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.
func (*ResourceCondition) SetCondition ¶
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 ¶
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"` 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 ¶
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.
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=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 ¶
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"` GlobalBackendConfigRevision string `json:"globalBackendConfigRevision,omitempty"` NamespacedBackendConfigRevision string `json:"namespacedBackendConfigRevision,omitempty"` PendingChange string `json:"pendingChange,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.
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"` GlobalBackendConfigRevision string `json:"globalBackendConfigRevision,omitempty"` NamespacedBackendConfigRevision string `json:"namespacedBackendConfigRevision,omitempty"` PendingChange string `json:"pendingChange,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 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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPASpec.
func (*VPASpec) DeepCopyInto ¶
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"` ProcessingGuarantees WindowProcessGuarantee `json:"processingGuarantees,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.
type WindowProcessGuarantee ¶
type WindowProcessGuarantee string
WindowProcessGuarantee enum type +kubebuilder:validation:Enum=ATLEAST_ONCE;ATMOST_ONCE