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 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 Messaging
- 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 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
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://" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "compute.functionmesh.io", Version: "v1alpha1"} // 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 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"` }
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:Required // +kubebuilder:validation:Minimum=1 Replicas *int32 `json:"replicas"` // 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"` // +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"` }
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"` }
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"` }
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 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 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"` // 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"` }
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 ¶ added in v0.4.0
type PulsarTLSConfig struct {
TLSConfig `json:",inline"`
}
func (*PulsarTLSConfig) AllowInsecureConnection ¶ added in v0.4.0
func (c *PulsarTLSConfig) AllowInsecureConnection() string
func (*PulsarTLSConfig) DeepCopy ¶ added in v0.4.0
func (in *PulsarTLSConfig) DeepCopy() *PulsarTLSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarTLSConfig.
func (*PulsarTLSConfig) DeepCopyInto ¶ added in v0.4.0
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 ¶ added in v0.4.0
func (c *PulsarTLSConfig) EnableHostnameVerification() string
func (*PulsarTLSConfig) GetMountPath ¶ added in v0.4.0
func (c *PulsarTLSConfig) GetMountPath() string
func (*PulsarTLSConfig) HasSecretVolume ¶ added in v0.4.0
func (c *PulsarTLSConfig) HasSecretVolume() bool
func (*PulsarTLSConfig) IsEnabled ¶ added in v0.4.0
func (c *PulsarTLSConfig) IsEnabled() bool
func (*PulsarTLSConfig) SecretKey ¶ added in v0.4.0
func (c *PulsarTLSConfig) SecretKey() string
func (*PulsarTLSConfig) SecretName ¶ added in v0.4.0
func (c *PulsarTLSConfig) SecretName() string
type PythonRuntime ¶
type PythonRuntime struct { // +kubebuilder:validation:Required Py string `json:"py"` PyLocation string `json:"pyLocation,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 (*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 ( FunctionReady ResourceConditionType = "FunctionReady" SourceReady ResourceConditionType = "SourceReady" SinkReady ResourceConditionType = "SinkReady" StatefulSetReady ResourceConditionType = "StatefulSetReady" ServiceReady ResourceConditionType = "ServiceReady" HPAReady ResourceConditionType = "HPAReady" )
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 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:Required // +kubebuilder:validation:Minimum=1 Replicas *int32 `json:"replicas"` // 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"` }
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"` }
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:Required Replicas *int32 `json:"replicas"` // 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"` // +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"` }
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"` }
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 ¶ added in v0.4.0
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 ¶ added in v0.4.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSConfig.
func (*TLSConfig) DeepCopyInto ¶ added in v0.4.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.