v1alpha1

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2025 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the resource v1alpha1 API group +kubebuilder:object:generate=true +groupName=resource.streamnative.io

Index

Constants

View Source
const (
	// ConditionReady indicates status condition ready
	ConditionReady string = "Ready"
	// ConditionTopicPolicyReady indicates the topic policy ready
	ConditionTopicPolicyReady string = "PolicyReady"
	// FinalizerName is the finalizer string that add to object
	FinalizerName string = "cloud.streamnative.io/finalizer"

	// AuthPluginToken indicates the authentication pulgin type token
	AuthPluginToken string = "org.apache.pulsar.client.impl.auth.AuthenticationToken" // #nosec G101
	// AuthPluginOAuth2 indicates the authentication pulgin type oauth2
	AuthPluginOAuth2 string = "org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "resource.streamnative.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

func IsPulsarResourceReady

func IsPulsarResourceReady(instance reconciler.Object) bool

IsPulsarResourceReady returns true if resource satisfies with these condition 1. The instance is not deleted 2. Status ObservedGeneration is equal with meta.ObservedGeneration 3. StatusCondition Ready is true

Types

type Artifact added in v0.8.0

type Artifact struct {
	// +optional
	JarURI string `json:"jarUri,omitempty"`

	// +kubebuilder:validation:Enum=JAR;PYTHON;sqlscript
	// +kubebuilder:validation:Required
	Kind string `json:"kind,omitempty"`

	// +optional
	PythonArtifactURI string `json:"pythonArtifactUri,omitempty"`

	// +optional
	SQLScript string `json:"sqlScript,omitempty"`

	// +optional
	AdditionalDependencies []string `json:"additionalDependencies,omitempty"`

	// +optional
	AdditionalPythonArchives []string `json:"additionalPythonArchives,omitempty"`

	// +optional
	AdditionalPythonLibraries []string `json:"additionalPythonLibraries,omitempty"`

	// +optional
	// +kubebuilder:validation:Enum=PYTHON;SQLSCRIPT;JAR;UNKNOWN
	ArtifactKind string `json:"artifactKind,omitempty"`

	// +optional
	EntryClass string `json:"entryClass,omitempty"`

	// +optional
	EntryModule string `json:"entryModule,omitempty"`

	// +optional
	FlinkImageRegistry string `json:"flinkImageRegistry,omitempty"`

	// +optional
	FlinkImageRepository string `json:"flinkImageRepository,omitempty"`

	// +optional
	FlinkImageTag string `json:"flinkImageTag,omitempty"`

	// +optional
	FlinkVersion string `json:"flinkVersion,omitempty"`

	// +optional
	MainArgs string `json:"mainArgs,omitempty"`

	// +optional
	URI string `json:"uri,omitempty"`
}

Artifact is the artifact configs to deploy.

func (*Artifact) DeepCopy added in v0.8.0

func (in *Artifact) DeepCopy() *Artifact

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

func (*Artifact) DeepCopyInto added in v0.8.0

func (in *Artifact) DeepCopyInto(out *Artifact)

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

type AuthConfig added in v0.8.0

type AuthConfig struct {
	// CredentialsRef is the reference to the service account credentials secret
	// +required
	CredentialsRef corev1.LocalObjectReference `json:"credentialsRef"`
}

AuthConfig defines the authentication configuration

func (*AuthConfig) DeepCopy added in v0.8.0

func (in *AuthConfig) DeepCopy() *AuthConfig

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

func (*AuthConfig) DeepCopyInto added in v0.8.0

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

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

type AutoFailoverPolicyType added in v0.6.3

type AutoFailoverPolicyType string
const (
	MinAvailable AutoFailoverPolicyType = "min_available"
)

type BatchSourceConfig added in v0.5.0

type BatchSourceConfig struct {
	// +optional
	DiscoveryTriggererClassName string `json:"discoveryTriggererClassName,omitempty" yaml:"discoveryTriggererClassName"`

	// +optional
	DiscoveryTriggererConfig *apiextensionsv1.JSON `json:"discoveryTriggererConfig,omitempty" yaml:"discoveryTriggererConfig"`
}

BatchSourceConfig represents the batch source config of the PulsarSource

func (*BatchSourceConfig) DeepCopy added in v0.5.0

func (in *BatchSourceConfig) DeepCopy() *BatchSourceConfig

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

func (*BatchSourceConfig) DeepCopyInto added in v0.5.0

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

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

type BookieAffinityGroupData added in v0.6.3

type BookieAffinityGroupData struct {
	BookkeeperAffinityGroupPrimary string `json:"bookkeeperAffinityGroupPrimary"`

	// +optional
	BookkeeperAffinityGroupSecondary string `json:"bookkeeperAffinityGroupSecondary,omitempty"`
}

func (*BookieAffinityGroupData) DeepCopy added in v0.6.3

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

func (*BookieAffinityGroupData) DeepCopyInto added in v0.6.3

func (in *BookieAffinityGroupData) DeepCopyInto(out *BookieAffinityGroupData)

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

type ClusterInfo added in v0.3.0

type ClusterInfo struct {
	// Name is the pulsar cluster name
	Name string `json:"name,omitempty"`
	// ConnectionRef is the connection reference that can connect to the pulsar cluster
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`
}

ClusterInfo indicates the cluster info that will be used in the setup of GEO replication.

func (*ClusterInfo) DeepCopy added in v0.3.0

func (in *ClusterInfo) DeepCopy() *ClusterInfo

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

func (*ClusterInfo) DeepCopyInto added in v0.3.0

func (in *ClusterInfo) DeepCopyInto(out *ClusterInfo)

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

type CommunityDeploymentMetadata added in v0.8.0

type CommunityDeploymentMetadata struct {
	// Annotations to add to the deployment
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Labels to add to the deployment
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

CommunityDeploymentMetadata defines the metadata for the community deployment

func (*CommunityDeploymentMetadata) DeepCopy added in v0.8.0

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

func (*CommunityDeploymentMetadata) DeepCopyInto added in v0.8.0

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

type CommunityDeploymentSpec added in v0.8.0

type CommunityDeploymentSpec struct {
	// Image defines the Flink image
	// +required
	Image string `json:"image"`

	// FlinkConfiguration defines the Flink configuration
	// +optional
	FlinkConfiguration map[string]string `json:"flinkConfiguration,omitempty"`

	// JobManagerPodTemplate defines the job manager pod template
	// +optional
	JobManagerPodTemplate *PodTemplate `json:"jobManagerPodTemplate,omitempty"`

	// TaskManagerPodTemplate defines the task manager pod template
	// +optional
	TaskManagerPodTemplate *PodTemplate `json:"taskManagerPodTemplate,omitempty"`

	// JarURI defines the URI of the JAR file
	// +required
	JarURI string `json:"jarUri"`

	// EntryClass defines the entry class of the JAR
	// +optional
	EntryClass string `json:"entryClass,omitempty"`

	// MainArgs defines the main arguments
	// +optional
	MainArgs string `json:"mainArgs,omitempty"`
}

CommunityDeploymentSpec defines the community deployment specification

func (*CommunityDeploymentSpec) DeepCopy added in v0.8.0

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

func (*CommunityDeploymentSpec) DeepCopyInto added in v0.8.0

func (in *CommunityDeploymentSpec) DeepCopyInto(out *CommunityDeploymentSpec)

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

type CommunityDeploymentTemplate added in v0.8.0

type CommunityDeploymentTemplate struct {
	// Metadata defines the metadata for the deployment
	// +optional
	Metadata CommunityDeploymentMetadata `json:"metadata,omitempty"`

	// Spec defines the deployment specification
	// +required
	Spec CommunityDeploymentSpec `json:"spec"`
}

CommunityDeploymentTemplate defines the community deployment template

func (*CommunityDeploymentTemplate) DeepCopy added in v0.8.0

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

func (*CommunityDeploymentTemplate) DeepCopyInto added in v0.8.0

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

type ComputeFlinkDeployment added in v0.8.0

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

	Spec   ComputeFlinkDeploymentSpec   `json:"spec,omitempty"`
	Status ComputeFlinkDeploymentStatus `json:"status,omitempty"`
}

ComputeFlinkDeployment is the Schema for the flinkdeployments API

func (*ComputeFlinkDeployment) DeepCopy added in v0.8.0

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

func (*ComputeFlinkDeployment) DeepCopyInto added in v0.8.0

func (in *ComputeFlinkDeployment) DeepCopyInto(out *ComputeFlinkDeployment)

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

func (*ComputeFlinkDeployment) DeepCopyObject added in v0.8.0

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

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

type ComputeFlinkDeploymentList added in v0.8.0

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

ComputeFlinkDeploymentList contains a list of ComputeFlinkDeployment

func (*ComputeFlinkDeploymentList) DeepCopy added in v0.8.0

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

func (*ComputeFlinkDeploymentList) DeepCopyInto added in v0.8.0

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

func (*ComputeFlinkDeploymentList) DeepCopyObject added in v0.8.0

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

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

type ComputeFlinkDeploymentSpec added in v0.8.0

type ComputeFlinkDeploymentSpec struct {
	// APIServerRef is the reference to the StreamNativeCloudConnection.
	// If not specified, the APIServerRef from the referenced ComputeWorkspace will be used.
	// +optional
	APIServerRef corev1.LocalObjectReference `json:"apiServerRef,omitempty"`

	// WorkspaceName is the reference to the workspace, and is required
	// +kubebuilder:validation:Required
	// +required
	WorkspaceName string `json:"workspaceName"`

	// Labels to add to the deployment
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations to add to the deployment
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Template is the VVP deployment template
	// +optional
	Template *VvpDeploymentTemplate `json:"template,omitempty"`

	// CommunityTemplate is the community deployment template
	// +optional
	CommunityTemplate *CommunityDeploymentTemplate `json:"communityTemplate,omitempty"`

	// DefaultPulsarCluster is the default pulsar cluster to use
	// +optional
	DefaultPulsarCluster *string `json:"defaultPulsarCluster,omitempty"`
}

ComputeFlinkDeploymentSpec defines the desired state of ComputeFlinkDeployment

func (*ComputeFlinkDeploymentSpec) DeepCopy added in v0.8.0

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

func (*ComputeFlinkDeploymentSpec) DeepCopyInto added in v0.8.0

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

type ComputeFlinkDeploymentStatus added in v0.8.0

type ComputeFlinkDeploymentStatus struct {
	// Conditions represent the latest available observations of an object's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the last observed generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// DeploymentStatus represents the status from the API server
	// +optional
	DeploymentStatus *runtime.RawExtension `json:"deploymentStatus,omitempty"`
}

ComputeFlinkDeploymentStatus defines the observed state of ComputeFlinkDeployment

func (*ComputeFlinkDeploymentStatus) DeepCopy added in v0.8.0

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

func (*ComputeFlinkDeploymentStatus) DeepCopyInto added in v0.8.0

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

type ComputeWorkspace added in v0.8.0

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

	Spec   ComputeWorkspaceSpec   `json:"spec,omitempty"`
	Status ComputeWorkspaceStatus `json:"status,omitempty"`
}

ComputeWorkspace is the Schema for the workspaces API

func (*ComputeWorkspace) DeepCopy added in v0.8.0

func (in *ComputeWorkspace) DeepCopy() *ComputeWorkspace

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

func (*ComputeWorkspace) DeepCopyInto added in v0.8.0

func (in *ComputeWorkspace) DeepCopyInto(out *ComputeWorkspace)

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

func (*ComputeWorkspace) DeepCopyObject added in v0.8.0

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

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

type ComputeWorkspaceList added in v0.8.0

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

ComputeWorkspaceList contains a list of ComputeWorkspace

func (*ComputeWorkspaceList) DeepCopy added in v0.8.0

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

func (*ComputeWorkspaceList) DeepCopyInto added in v0.8.0

func (in *ComputeWorkspaceList) DeepCopyInto(out *ComputeWorkspaceList)

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

func (*ComputeWorkspaceList) DeepCopyObject added in v0.8.0

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

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

type ComputeWorkspaceSpec added in v0.8.0

type ComputeWorkspaceSpec struct {
	// APIServerRef is the reference to the StreamNativeCloudConnection
	// +required
	APIServerRef corev1.LocalObjectReference `json:"apiServerRef"`

	// PulsarClusterNames is the list of Pulsar clusters that the workspace will have access to.
	// +optional
	PulsarClusterNames []string `json:"pulsarClusterNames,omitempty"`

	// PoolRef is the reference to the pool that the workspace will be access to.
	// +optional
	PoolRef *PoolRef `json:"poolRef"`

	// UseExternalAccess is the flag to indicate whether the workspace will use external access.
	// +optional
	UseExternalAccess *bool `json:"useExternalAccess,omitempty"`

	// FlinkBlobStorage is the configuration for the Flink blob storage.
	// +optional
	FlinkBlobStorage *FlinkBlobStorage `json:"flinkBlobStorage,omitempty"`
}

ComputeWorkspaceSpec defines the desired state of Workspace

func (*ComputeWorkspaceSpec) DeepCopy added in v0.8.0

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

func (*ComputeWorkspaceSpec) DeepCopyInto added in v0.8.0

func (in *ComputeWorkspaceSpec) DeepCopyInto(out *ComputeWorkspaceSpec)

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

type ComputeWorkspaceStatus added in v0.8.0

type ComputeWorkspaceStatus struct {
	// Conditions represent the latest available observations of an object's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the last observed generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// WorkspaceID is the ID of the workspace in the API server
	// +optional
	WorkspaceID string `json:"workspaceId,omitempty"`
}

ComputeWorkspaceStatus defines the observed state of Workspace

func (*ComputeWorkspaceStatus) DeepCopy added in v0.8.0

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

func (*ComputeWorkspaceStatus) DeepCopyInto added in v0.8.0

func (in *ComputeWorkspaceStatus) DeepCopyInto(out *ComputeWorkspaceStatus)

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

type ConsumerConfig added in v0.5.0

type ConsumerConfig struct {
	// +optional
	SchemaType string `json:"schemaType,omitempty" yaml:"schemaType"`

	// +optional
	SerdeClassName string `json:"serdeClassName,omitempty" yaml:"serdeClassName"`

	// +optional
	RegexPattern bool `json:"regexPattern,omitempty" yaml:"regexPattern"`

	// +optional
	ReceiverQueueSize int `json:"receiverQueueSize,omitempty" yaml:"receiverQueueSize"`

	// +optional
	SchemaProperties map[string]string `json:"schemaProperties,omitempty" yaml:"schemaProperties"`

	// +optional
	ConsumerProperties map[string]string `json:"consumerProperties,omitempty" yaml:"consumerProperties"`

	// +optional
	CryptoConfig *CryptoConfig `json:"cryptoConfig,omitempty" yaml:"cryptoConfig"`

	// +optional
	PoolMessages bool `json:"poolMessages,omitempty" yaml:"poolMessages"`
}

ConsumerConfig represents the configuration for the consumer of the pulsar functions and connectors

func (*ConsumerConfig) DeepCopy added in v0.5.0

func (in *ConsumerConfig) DeepCopy() *ConsumerConfig

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

func (*ConsumerConfig) DeepCopyInto added in v0.5.0

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

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

type Container added in v0.8.0

type Container struct {
	// Name of the container specified as a DNS_LABEL.
	// +optional
	Name string `json:"name,omitempty"`

	// Docker image name.
	// +optional
	Image string `json:"image,omitempty"`

	// Entrypoint array. Not executed within a shell.
	// +optional
	Command []string `json:"command,omitempty"`

	// Arguments to the entrypoint.
	// +optional
	Args []string `json:"args,omitempty"`

	// Container's working directory.
	// +optional
	WorkingDir string `json:"workingDir,omitempty"`

	// List of environment variables to set in the container.
	// +optional
	Env []corev1.EnvVar `json:"env,omitempty"`

	// List of sources to populate environment variables in the container.
	// +optional
	EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"`

	// Compute Resources required by this container.
	// +optional
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// Pod volumes to mount into the container's filesystem.
	// +optional
	VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"`

	// Image pull policy.
	// +optional
	ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`

	// Security context at container level
	// +optional
	SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"`
}

Container defines a single application container

func (*Container) DeepCopy added in v0.8.0

func (in *Container) DeepCopy() *Container

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

func (*Container) DeepCopyInto added in v0.8.0

func (in *Container) DeepCopyInto(out *Container)

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

type CryptoConfig added in v0.5.0

type CryptoConfig struct {

	// +optional
	CryptoKeyReaderClassName string `json:"cryptoKeyReaderClassName,omitempty" yaml:"cryptoKeyReaderClassName"`

	// +optional
	CryptoKeyReaderConfig map[string]string `json:"cryptoKeyReaderConfig,omitempty" yaml:"cryptoKeyReaderConfig"`

	// +optional
	EncryptionKeys []string `json:"encryptionKeys,omitempty" yaml:"encryptionKeys"`

	// +optional
	ProducerCryptoFailureAction string `json:"producerCryptoFailureAction,omitempty" yaml:"producerCryptoFailureAction"`

	// +optional
	ConsumerCryptoFailureAction string `json:"consumerCryptoFailureAction,omitempty" yaml:"consumerCryptoFailureAction"`
}

CryptoConfig represents the configuration for the crypto of the pulsar functions and connectors

func (*CryptoConfig) DeepCopy added in v0.5.0

func (in *CryptoConfig) DeepCopy() *CryptoConfig

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

func (*CryptoConfig) DeepCopyInto added in v0.5.0

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

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

type FlinkBlobStorage added in v0.8.0

type FlinkBlobStorage struct {
	// Bucket is required if you want to use cloud storage.
	// +required
	Bucket string `json:"bucket"`

	// Path is the sub path in the bucket.
	// Leave it empty if you want to use the whole bucket.
	// +optional
	Path string `json:"path,omitempty"`
}

FlinkBlobStorage defines the configuration for the Flink blob storage.

func (*FlinkBlobStorage) DeepCopy added in v0.8.0

func (in *FlinkBlobStorage) DeepCopy() *FlinkBlobStorage

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

func (*FlinkBlobStorage) DeepCopyInto added in v0.8.0

func (in *FlinkBlobStorage) DeepCopyInto(out *FlinkBlobStorage)

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

type FunctionSecretKeyRef added in v0.5.4

type FunctionSecretKeyRef struct {
	Path string `json:"path"`
	Key  string `json:"key"`
}

FunctionSecretKeyRef indicates a secret name and key

func (*FunctionSecretKeyRef) DeepCopy added in v0.5.4

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

func (*FunctionSecretKeyRef) DeepCopyInto added in v0.5.4

func (in *FunctionSecretKeyRef) DeepCopyInto(out *FunctionSecretKeyRef)

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

type KubernetesSpec added in v0.8.0

type KubernetesSpec struct {
	// JobManagerPodTemplate defines the job manager pod template
	// +optional
	JobManagerPodTemplate *PodTemplate `json:"jobManagerPodTemplate,omitempty"`

	// TaskManagerPodTemplate defines the task manager pod template
	// +optional
	TaskManagerPodTemplate *PodTemplate `json:"taskManagerPodTemplate,omitempty"`

	// Labels defines the labels to add to all resources
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

KubernetesSpec defines the Kubernetes specific configuration

func (*KubernetesSpec) DeepCopy added in v0.8.0

func (in *KubernetesSpec) DeepCopy() *KubernetesSpec

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

func (*KubernetesSpec) DeepCopyInto added in v0.8.0

func (in *KubernetesSpec) DeepCopyInto(out *KubernetesSpec)

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

type LogConfig added in v0.8.0

type LogConfig struct {
	// ServiceURL is the URL of the logging service
	// +required
	ServiceURL string `json:"serviceUrl"`
}

LogConfig defines the logging service configuration

func (*LogConfig) DeepCopy added in v0.8.0

func (in *LogConfig) DeepCopy() *LogConfig

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

func (*LogConfig) DeepCopyInto added in v0.8.0

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

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

type Logging added in v0.8.0

type Logging struct {
	// +optional
	Log4j2ConfigurationTemplate string `json:"log4j2ConfigurationTemplate,omitempty"`

	// +optional
	Log4jLoggers map[string]string `json:"log4jLoggers,omitempty"`

	// +optional
	LoggingProfile string `json:"loggingProfile,omitempty"`
}

Logging defines the logging configuration for the Flink deployment.

func (*Logging) DeepCopy added in v0.8.0

func (in *Logging) DeepCopy() *Logging

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

func (*Logging) DeepCopyInto added in v0.8.0

func (in *Logging) DeepCopyInto(out *Logging)

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

type ObjectMeta added in v0.8.0

type ObjectMeta struct {
	// Name of the resource
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace of the resource
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Labels of the resource
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations of the resource
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ObjectMeta is metadata that all persisted resources must have

func (*ObjectMeta) DeepCopy added in v0.8.0

func (in *ObjectMeta) DeepCopy() *ObjectMeta

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

func (*ObjectMeta) DeepCopyInto added in v0.8.0

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

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

type PackageContentRef added in v0.5.0

type PackageContentRef struct {

	// +optional
	URL string `json:"url,omitempty"`
}

PackageContentRef indicates the package content reference

func (*PackageContentRef) DeepCopy added in v0.5.0

func (in *PackageContentRef) DeepCopy() *PackageContentRef

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

func (*PackageContentRef) DeepCopyInto added in v0.5.0

func (in *PackageContentRef) DeepCopyInto(out *PackageContentRef)

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

type PodTemplate added in v0.8.0

type PodTemplate struct {
	// Standard object's metadata.
	// +optional
	ObjectMeta ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the pod.
	// +optional
	Spec PodTemplateSpec `json:"spec,omitempty"`
}

PodTemplate defines the pod template configuration

func (*PodTemplate) DeepCopy added in v0.8.0

func (in *PodTemplate) DeepCopy() *PodTemplate

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

func (*PodTemplate) DeepCopyInto added in v0.8.0

func (in *PodTemplate) DeepCopyInto(out *PodTemplate)

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

type PodTemplateSpec added in v0.8.0

type PodTemplateSpec struct {
	// List of volumes that can be mounted by containers belonging to the pod.
	// +optional
	Volumes []Volume `json:"volumes,omitempty"`

	// List of initialization containers belonging to the pod.
	// +optional
	InitContainers []Container `json:"initContainers,omitempty"`

	// List of containers belonging to the pod.
	// +optional
	Containers []Container `json:"containers,omitempty"`

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

	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// SecurityContext holds pod-level security attributes and common container settings.
	// +optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext,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.
	// +optional
	ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`

	// If specified, the pod's scheduling constraints
	// +optional
	Affinity *corev1.Affinity `json:"affinity,omitempty"`

	// If specified, the pod's tolerations.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}

PodTemplateSpec describes the data a pod should have when created from a template

func (*PodTemplateSpec) DeepCopy added in v0.8.0

func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec

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

func (*PodTemplateSpec) DeepCopyInto added in v0.8.0

func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)

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

type PoolRef added in v0.8.0

type PoolRef struct {
	// Namespace is the namespace of the pool
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the pool
	// +required
	Name string `json:"name"`
}

PoolRef is a reference to a pool with a given name.

func (*PoolRef) DeepCopy added in v0.8.0

func (in *PoolRef) DeepCopy() *PoolRef

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

func (*PoolRef) DeepCopyInto added in v0.8.0

func (in *PoolRef) DeepCopyInto(out *PoolRef)

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

type ProducerConfig added in v0.5.0

type ProducerConfig struct {
	// +optional
	MaxPendingMessages int `json:"maxPendingMessages,omitempty" yaml:"maxPendingMessages"`

	// +optional
	MaxPendingMessagesAcrossPartitions int `json:"maxPendingMessagesAcrossPartitions,omitempty" yaml:"maxPendingMessagesAcrossPartitions"`

	// +optional
	UseThreadLocalProducers bool `json:"useThreadLocalProducers,omitempty" yaml:"useThreadLocalProducers"`

	// +optional
	CryptoConfig *CryptoConfig `json:"cryptoConfig,omitempty" yaml:"cryptoConfig"`

	// +optional
	BatchBuilder string `json:"batchBuilder,omitempty" yaml:"batchBuilder"`

	// +optional
	CompressionType string `json:"compressionType,omitempty" yaml:"compressionType"`
}

ProducerConfig represents the configuration for the producer of the pulsar functions and connectors

func (*ProducerConfig) DeepCopy added in v0.5.0

func (in *ProducerConfig) DeepCopy() *ProducerConfig

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

func (*ProducerConfig) DeepCopyInto added in v0.5.0

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

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

type PulsarAuthentication

type PulsarAuthentication struct {
	// Token specifies the configuration for token-based authentication.
	// This can be either a direct token value or a reference to a secret containing the token.
	// If using a secret, the token should be stored under the specified key in the secret.
	// +optional
	Token *ValueOrSecretRef `json:"token,omitempty"`

	// OAuth2 specifies the configuration for OAuth2-based authentication.
	// This includes all necessary parameters for setting up OAuth2 authentication with Pulsar.
	// For detailed information on the OAuth2 fields, refer to the PulsarAuthenticationOAuth2 struct.
	// +optional
	OAuth2 *PulsarAuthenticationOAuth2 `json:"oauth2,omitempty"`
}

PulsarAuthentication defines the authentication configuration for Pulsar resources. It supports two authentication methods: Token-based and OAuth2-based. Only one authentication method should be specified at a time.

func (*PulsarAuthentication) DeepCopy

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

func (*PulsarAuthentication) DeepCopyInto

func (in *PulsarAuthentication) DeepCopyInto(out *PulsarAuthentication)

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

type PulsarAuthenticationOAuth2

type PulsarAuthenticationOAuth2 struct {
	// IssuerEndpoint is the URL of the OAuth2 authorization server.
	// This is typically the base URL of your identity provider's OAuth2 service.
	IssuerEndpoint string `json:"issuerEndpoint"`

	// ClientID is the OAuth2 client identifier issued to the client during the registration process.
	ClientID string `json:"clientID"`

	// Audience is the intended recipient of the token. In Pulsar's context, this is usually
	// the URL of your Pulsar cluster or a specific identifier for your Pulsar service.
	Audience string `json:"audience"`

	// Key is either the client secret or the path to a JSON credentials file.
	// For confidential clients, this would be the client secret.
	// For public clients using JWT authentication, this would be the path to the JSON credentials file.
	Key *ValueOrSecretRef `json:"key"`

	// Scope is an optional field to request specific permissions from the OAuth2 server.
	// If not specified, the default scope defined by the OAuth2 server will be used.
	Scope string `json:"scope,omitempty"`
}

PulsarAuthenticationOAuth2 represents the configuration for Pulsar OAuth2 authentication. This struct aligns with Pulsar's OAuth2 authentication mechanism as described in https://pulsar.apache.org/docs/3.3.x/security-oauth2/ and https://docs.streamnative.io/docs/access-cloud-clusters-oauth

func (*PulsarAuthenticationOAuth2) DeepCopy

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

func (*PulsarAuthenticationOAuth2) DeepCopyInto

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

type PulsarConnection

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

	Spec   PulsarConnectionSpec   `json:"spec,omitempty"`
	Status PulsarConnectionStatus `json:"status,omitempty"`
}

PulsarConnection is the Schema for the pulsarconnections API It represents a connection to a Pulsar cluster and includes both the desired state (Spec) and the observed state (Status) of the connection.

func (*PulsarConnection) DeepCopy

func (in *PulsarConnection) DeepCopy() *PulsarConnection

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

func (*PulsarConnection) DeepCopyInto

func (in *PulsarConnection) DeepCopyInto(out *PulsarConnection)

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

func (*PulsarConnection) DeepCopyObject

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

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

type PulsarConnectionList

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

PulsarConnectionList contains a list of PulsarConnection This type is used by the Kubernetes API to return multiple PulsarConnection objects.

func (*PulsarConnectionList) DeepCopy

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

func (*PulsarConnectionList) DeepCopyInto

func (in *PulsarConnectionList) DeepCopyInto(out *PulsarConnectionList)

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

func (*PulsarConnectionList) DeepCopyObject

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

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

type PulsarConnectionSpec

type PulsarConnectionSpec struct {

	// AdminServiceURL is the HTTP(S) URL for the Pulsar cluster's admin service.
	// This URL is used for administrative operations.
	// +optional
	// +kubebuilder:validation:Pattern="^https?://.+$"
	AdminServiceURL string `json:"adminServiceURL"`

	// Authentication defines the authentication configuration for connecting to the Pulsar cluster.
	// It supports both token-based and OAuth2-based authentication methods.
	// +optional
	Authentication *PulsarAuthentication `json:"authentication,omitempty"`

	// BrokerServiceURL is the non-TLS URL for connecting to Pulsar brokers.
	// Use this for non-secure connections to the Pulsar cluster.
	// +optional
	// +kubebuilder:validation:Pattern="^pulsar?://.+$"
	BrokerServiceURL string `json:"brokerServiceURL,omitempty"`

	// BrokerServiceSecureURL is the TLS-enabled URL for secure connections to Pulsar brokers.
	// Use this for encrypted communications with the Pulsar cluster.
	// +optional
	// +kubebuilder:validation:Pattern="^pulsar\\+ssl://.+$"
	BrokerServiceSecureURL string `json:"brokerServiceSecureURL,omitempty"`

	// AdminServiceSecureURL is the HTTPS URL for secure connections to the Pulsar admin service.
	// Use this for encrypted administrative operations.
	// +optional
	// +kubebuilder:validation:Pattern="^https://.+$"
	AdminServiceSecureURL string `json:"adminServiceSecureURL,omitempty"`

	// BrokerClientTrustCertsFilePath is the file path to the trusted TLS certificate
	// for outgoing connections to Pulsar brokers. This is used for TLS verification.
	// +optional
	BrokerClientTrustCertsFilePath string `json:"brokerClientTrustCertsFilePath,omitempty"`

	// ClusterName specifies the name of the local Pulsar cluster.
	// When setting up Geo-Replication between Pulsar instances, this should be enabled to identify the cluster.
	// +optional
	ClusterName string `json:"clusterName,omitempty"`
}

PulsarConnectionSpec defines the desired state of PulsarConnection It specifies the configuration for connecting to a Pulsar cluster.

For plaintext (non-TLS) Pulsar clusters: - Set AdminServiceURL to "http://<admin-service-host>:<port>" - Set BrokerServiceURL to "pulsar://<broker-service-host>:<port>"

For TLS-enabled Pulsar clusters: - Set AdminServiceSecureURL to "https://<admin-service-host>:<port>" - Set BrokerServiceSecureURL to "pulsar+ssl://<broker-service-host>:<port>" - Optionally set BrokerClientTrustCertsFilePath if using custom CA certificates

func (*PulsarConnectionSpec) DeepCopy

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

func (*PulsarConnectionSpec) DeepCopyInto

func (in *PulsarConnectionSpec) DeepCopyInto(out *PulsarConnectionSpec)

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

type PulsarConnectionStatus

type PulsarConnectionStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// This field is used to track whether the controller has processed the latest changes.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// SecretKeyHash is the hash of the secret reference used for authentication.
	// This is used to detect changes in the secret without exposing sensitive information.
	// The controller should update this hash when the secret changes.
	// +optional
	SecretKeyHash string `json:"secretKeyHash,omitempty"`

	// Conditions represent the latest available observations of the connection's current state.
	// It follows the Kubernetes conventions for condition types and status.
	// The "Ready" condition type is typically used to indicate the overall status.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarConnectionStatus defines the observed state of PulsarConnection. It provides information about the current status of the Pulsar connection.

func (*PulsarConnectionStatus) DeepCopy

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

func (*PulsarConnectionStatus) DeepCopyInto

func (in *PulsarConnectionStatus) DeepCopyInto(out *PulsarConnectionStatus)

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

type PulsarFunction added in v0.5.0

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

	Spec   PulsarFunctionSpec   `json:"spec,omitempty"`
	Status PulsarFunctionStatus `json:"status,omitempty"`
}

PulsarFunction is the Schema for the pulsar functions API

func (*PulsarFunction) DeepCopy added in v0.5.0

func (in *PulsarFunction) DeepCopy() *PulsarFunction

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

func (*PulsarFunction) DeepCopyInto added in v0.5.0

func (in *PulsarFunction) DeepCopyInto(out *PulsarFunction)

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

func (*PulsarFunction) DeepCopyObject added in v0.5.0

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

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

type PulsarFunctionList added in v0.5.0

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

PulsarFunctionList contains a list of PulsarFunction

func (*PulsarFunctionList) DeepCopy added in v0.5.0

func (in *PulsarFunctionList) DeepCopy() *PulsarFunctionList

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

func (*PulsarFunctionList) DeepCopyInto added in v0.5.0

func (in *PulsarFunctionList) DeepCopyInto(out *PulsarFunctionList)

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

func (*PulsarFunctionList) DeepCopyObject added in v0.5.0

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

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

type PulsarFunctionSpec added in v0.5.0

type PulsarFunctionSpec struct {

	// TimeoutMs is the function timeout in milliseconds
	// +optional
	TimeoutMs *int64 `json:"timeoutMs,omitempty"`

	// TopicsPattern is the topics pattern that the function subscribes to
	// +optional
	TopicsPattern *string `json:"topicsPattern,omitempty"`

	// CleanupSubscription is the flag to indicate whether the subscription should be cleaned up when the function is deleted
	// +optional
	CleanupSubscription bool `json:"cleanupSubscription"`

	// RetainOrdering is the flag to indicate whether the function should retain ordering
	// +optional
	RetainOrdering bool `json:"retainOrdering"`

	// RetainKeyOrdering is the flag to indicate whether the function should retain key ordering
	// +optional
	RetainKeyOrdering bool `json:"retainKeyOrdering"`

	// BatchBuilder is the batch builder that the function uses
	// +optional
	BatchBuilder *string `json:"batchBuilder,omitempty"`

	// ForwardSourceMessageProperty is the flag to indicate whether the function should forward source message properties
	// +optional
	ForwardSourceMessageProperty bool `json:"forwardSourceMessageProperty"`

	// AutoAck is the flag to indicate whether the function should auto ack
	// +optional
	AutoAck bool `json:"autoAck"`

	// Parallelism is the parallelism of the function
	// +optional
	Parallelism int `json:"parallelism,omitempty"`

	// MaxMessageRetries is the max message retries of the function
	// +optional
	MaxMessageRetries *int `json:"maxMessageRetries,omitempty"`

	// Output is the output of the function
	// +optional
	Output string `json:"output,omitempty"`

	// ProducerConfig is the producer config of the function
	// +optional
	ProducerConfig *ProducerConfig `json:"producerConfig,omitempty"`

	// CustomSchemaOutputs is the custom schema outputs of the function
	// +optional
	CustomSchemaOutputs map[string]string `json:"customSchemaOutputs,omitempty"`

	// OutputSerdeClassName is the output serde class name of the function
	// +optional
	OutputSerdeClassName string `json:"outputSerdeClassName,omitempty"`

	// LogTopic is the log topic of the function
	// +optional
	LogTopic string `json:"logTopic,omitempty"`

	// ProcessingGuarantees is the processing guarantees of the function
	// +optional
	ProcessingGuarantees string `json:"processingGuarantees,omitempty"`

	// OutputSchemaType is the output schema type of the function
	// +optional
	OutputSchemaType string `json:"outputSchemaType,omitempty"`

	// OutputTypeClassName is the output type class name of the function
	// +optional
	OutputTypeClassName string `json:"outputTypeClassName,omitempty"`

	// DeadLetterTopic is the dead letter topic of the function
	// +optional
	DeadLetterTopic string `json:"deadLetterTopic,omitempty"`

	// SubName is the sub name of the function
	// +optional
	SubName string `json:"subName,omitempty"`

	// Jar is the jar of the function
	// +optional
	Jar *PackageContentRef `json:"jar,omitempty"`

	// Py is the py of the function
	// +optional
	Py *PackageContentRef `json:"py,omitempty"`

	// Go is the go of the function
	// +optional
	Go *PackageContentRef `json:"go,omitempty"`

	// RuntimeFlags is the runtime flags of the function
	// +optional
	RuntimeFlags string `json:"runtimeFlags,omitempty"`

	// Tenant is the tenant of the function
	// +optional
	Tenant string `json:"tenant,omitempty"`

	// Namespace is the namespace of the function
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the function
	// +optional
	Name string `json:"name,omitempty"`

	// ClassName is the class name of the function
	// +optional
	ClassName string `json:"className,omitempty"`

	// Resources is the resources of the function
	// +optional
	Resources *Resources `json:"resources,omitempty"`

	// WindowConfig is the window config of the function
	// +optional
	WindowConfig *WindowConfig `json:"windowConfig,omitempty"`

	// Inputs is the inputs of the function
	// +optional
	Inputs []string `json:"inputs,omitempty"`

	// UserConfig is the user config of the function
	// +optional
	UserConfig *apiextensionsv1.JSON `json:"userConfig,omitempty"`

	// CustomSerdeInputs is the custom serde inputs of the function
	// +optional
	CustomSerdeInputs map[string]string `json:"customSerdeInputs,omitempty"`

	// CustomSchemaInputs is the custom schema inputs of the function
	// +optional
	CustomSchemaInputs map[string]string `json:"customSchemaInputs,omitempty"`

	// InputSpecs is the input specs of the function
	// +optional
	InputSpecs map[string]ConsumerConfig `json:"inputSpecs,omitempty"`

	// InputTypeClassName is the input type class name of the function
	// +optional
	InputTypeClassName string `json:"inputTypeClassName,omitempty"`

	// CustomRuntimeOptions is the custom runtime options of the function
	// +optional
	CustomRuntimeOptions *apiextensionsv1.JSON `json:"customRuntimeOptions,omitempty"`

	// Secrets is the secrets of the function
	// +optional
	Secrets map[string]FunctionSecretKeyRef `json:"secrets,omitempty"`

	// MaxPendingAsyncRequests is the max pending async requests of the function
	// +optional
	MaxPendingAsyncRequests int `json:"maxPendingAsyncRequests,omitempty"`

	// ExposePulsarAdminClientEnabled is the flag to indicate whether the function should expose pulsar admin client
	// +optional
	ExposePulsarAdminClientEnabled bool `json:"exposePulsarAdminClientEnabled"`

	// SkipToLatest is the flag to indicate whether the function should skip to latest
	// +optional
	SkipToLatest bool `json:"skipToLatest"`

	// SubscriptionPosition is the subscription position of the function
	// +optional
	SubscriptionPosition string `json:"subscriptionPosition,omitempty"`

	// ConnectionRef is the reference to the PulsarConnection resource
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`
}

PulsarFunctionSpec defines the desired state of PulsarFunction

func (*PulsarFunctionSpec) DeepCopy added in v0.5.0

func (in *PulsarFunctionSpec) DeepCopy() *PulsarFunctionSpec

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

func (*PulsarFunctionSpec) DeepCopyInto added in v0.5.0

func (in *PulsarFunctionSpec) DeepCopyInto(out *PulsarFunctionSpec)

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

type PulsarFunctionStatus added in v0.5.0

type PulsarFunctionStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Represents the observations of a connection's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarFunctionStatus defines the observed state of PulsarFunction

func (*PulsarFunctionStatus) DeepCopy added in v0.5.0

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

func (*PulsarFunctionStatus) DeepCopyInto added in v0.5.0

func (in *PulsarFunctionStatus) DeepCopyInto(out *PulsarFunctionStatus)

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

type PulsarGeoReplication added in v0.3.0

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

	Spec   PulsarGeoReplicationSpec   `json:"spec,omitempty"`
	Status PulsarGeoReplicationStatus `json:"status,omitempty"`
}

PulsarGeoReplication is the Schema for the pulsargeoreplications API

func (*PulsarGeoReplication) DeepCopy added in v0.3.0

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

func (*PulsarGeoReplication) DeepCopyInto added in v0.3.0

func (in *PulsarGeoReplication) DeepCopyInto(out *PulsarGeoReplication)

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

func (*PulsarGeoReplication) DeepCopyObject added in v0.3.0

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

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

type PulsarGeoReplicationList added in v0.3.0

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

PulsarGeoReplicationList contains a list of PulsarGeoReplication

func (*PulsarGeoReplicationList) DeepCopy added in v0.3.0

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

func (*PulsarGeoReplicationList) DeepCopyInto added in v0.3.0

func (in *PulsarGeoReplicationList) DeepCopyInto(out *PulsarGeoReplicationList)

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

func (*PulsarGeoReplicationList) DeepCopyObject added in v0.3.0

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

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

type PulsarGeoReplicationSpec added in v0.3.0

type PulsarGeoReplicationSpec struct {

	// ConnectionRef is the reference to the source PulsarConnection
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// DestinationConnectionRef is the connection reference to the remote cluster
	DestinationConnectionRef corev1.LocalObjectReference `json:"destinationConnectionRef"`

	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`
}

PulsarGeoReplicationSpec defines the desired state of PulsarGeoReplication

func (*PulsarGeoReplicationSpec) DeepCopy added in v0.3.0

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

func (*PulsarGeoReplicationSpec) DeepCopyInto added in v0.3.0

func (in *PulsarGeoReplicationSpec) DeepCopyInto(out *PulsarGeoReplicationSpec)

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

type PulsarGeoReplicationStatus added in v0.3.0

type PulsarGeoReplicationStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions Represents the observations of a connection's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarGeoReplicationStatus defines the observed state of PulsarGeoReplication

func (*PulsarGeoReplicationStatus) DeepCopy added in v0.3.0

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

func (*PulsarGeoReplicationStatus) DeepCopyInto added in v0.3.0

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

type PulsarNSIsolationPolicy added in v0.6.3

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

	Spec   PulsarNSIsolationPolicySpec   `json:"spec,omitempty"`
	Status PulsarNSIsolationPolicyStatus `json:"status,omitempty"`
}

PulsarNSIsolationPolicy is the Schema for the pulsar ns-isolation-policy API It represents a Pulsar NsIsolationPolicy in the Kubernetes cluster and includes both the desired state (Spec) and the observed state (Status) of the policy.

func (*PulsarNSIsolationPolicy) DeepCopy added in v0.6.3

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

func (*PulsarNSIsolationPolicy) DeepCopyInto added in v0.6.3

func (in *PulsarNSIsolationPolicy) DeepCopyInto(out *PulsarNSIsolationPolicy)

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

func (*PulsarNSIsolationPolicy) DeepCopyObject added in v0.6.3

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

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

type PulsarNSIsolationPolicyList added in v0.6.3

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

PulsarNSIsolationPolicyList contains a list of PulsarNSIsolationPolicy resources. It is used by the Kubernetes API to return multiple PulsarNSIsolationPolicy objects.

func (*PulsarNSIsolationPolicyList) DeepCopy added in v0.6.3

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

func (*PulsarNSIsolationPolicyList) DeepCopyInto added in v0.6.3

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

func (*PulsarNSIsolationPolicyList) DeepCopyObject added in v0.6.3

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

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

type PulsarNSIsolationPolicySpec added in v0.6.3

type PulsarNSIsolationPolicySpec struct {

	// Name is the policy name
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// Cluster is the name of the Pulsar Cluster
	// +kubebuilder:validation:Required
	Cluster string `json:"cluster"`

	// ConnectionRef is the reference to the PulsarConnection resource
	// used to connect to the Pulsar cluster for this ns-isolation-policy.
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// Namespaces namespaces-regex list
	// +kubebuilder:validation:Required
	Namespaces []string `json:"namespaces"`

	// Primary primary-broker-regex list
	// +kubebuilder:validation:Required
	Primary []string `json:"primary"`

	// Secondary secondary-broker-regex list, optional
	// +optional
	Secondary []string `json:"secondary,omitempty"`

	// AutoFailoverPolicyType auto failover policy type name, only support min_available now
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=min_available
	AutoFailoverPolicyType AutoFailoverPolicyType `json:"autoFailoverPolicyType"`

	// AutoFailoverPolicyParams auto failover policy parameters
	// +kubebuilder:validation:Required
	AutoFailoverPolicyParams map[string]string `json:"autoFailoverPolicyParams"`
}

PulsarNSIsolationPolicySpec defines the desired state of a Pulsar namespace isolation policy. It corresponds to the configuration options available in Pulsar's namespaceIsolationPolicies admin API.

func (*PulsarNSIsolationPolicySpec) DeepCopy added in v0.6.3

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

func (*PulsarNSIsolationPolicySpec) DeepCopyInto added in v0.6.3

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

type PulsarNSIsolationPolicyStatus added in v0.6.3

type PulsarNSIsolationPolicyStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// This field is used to track whether the controller has processed the latest changes.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the ns-isolation-policy's current state.
	// It follows the Kubernetes conventions for condition types and status.
	// The "Ready" condition type is typically used to indicate the overall status of the ns-isolation-policy.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarNSIsolationPolicyStatus defines the observed state of PulsarNSIsolationPolicy

func (*PulsarNSIsolationPolicyStatus) DeepCopy added in v0.6.3

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

func (*PulsarNSIsolationPolicyStatus) DeepCopyInto added in v0.6.3

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

type PulsarNamespace

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

	Spec   PulsarNamespaceSpec   `json:"spec,omitempty"`
	Status PulsarNamespaceStatus `json:"status,omitempty"`
}

PulsarNamespace is the Schema for the pulsarnamespaces API It represents a Pulsar namespace in the Kubernetes cluster and includes both the desired state (Spec) and the observed state (Status) of the namespace.

func (*PulsarNamespace) DeepCopy

func (in *PulsarNamespace) DeepCopy() *PulsarNamespace

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

func (*PulsarNamespace) DeepCopyInto

func (in *PulsarNamespace) DeepCopyInto(out *PulsarNamespace)

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

func (*PulsarNamespace) DeepCopyObject

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

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

type PulsarNamespaceList

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

PulsarNamespaceList contains a list of PulsarNamespace resources. It is used by the Kubernetes API to return multiple PulsarNamespace objects.

func (*PulsarNamespaceList) DeepCopy

func (in *PulsarNamespaceList) DeepCopy() *PulsarNamespaceList

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

func (*PulsarNamespaceList) DeepCopyInto

func (in *PulsarNamespaceList) DeepCopyInto(out *PulsarNamespaceList)

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

func (*PulsarNamespaceList) DeepCopyObject

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

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

type PulsarNamespaceSpec

type PulsarNamespaceSpec struct {

	// Name is the fully qualified namespace name in the format "tenant/namespace".
	Name string `json:"name"`

	// Bundles specifies the number of bundles to split the namespace into.
	// This affects how the namespace is distributed across the cluster.
	Bundles *int32 `json:"bundles,omitempty"`

	// ConnectionRef is the reference to the PulsarConnection resource
	// used to connect to the Pulsar cluster for this namespace.
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// LifecyclePolicy determines whether to keep or delete the Pulsar namespace
	// when the Kubernetes resource is deleted.
	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`

	// MaxProducersPerTopic sets the maximum number of producers allowed on a single topic in the namespace.
	// +optional
	MaxProducersPerTopic *int32 `json:"maxProducersPerTopic,omitempty"`

	// MaxConsumersPerTopic sets the maximum number of consumers allowed on a single topic in the namespace.
	// +optional
	MaxConsumersPerTopic *int32 `json:"maxConsumersPerTopic,omitempty"`

	// MaxConsumersPerSubscription sets the maximum number of consumers allowed on a single subscription in the namespace.
	// +optional
	MaxConsumersPerSubscription *int32 `json:"maxConsumersPerSubscription,omitempty"`

	// MessageTTL specifies the Time to Live (TTL) for messages in the namespace.
	// Messages older than this TTL will be automatically marked as consumed.
	// +optional
	MessageTTL *utils.Duration `json:"messageTTL,omitempty"`

	// RetentionTime specifies the minimum time to retain messages in the namespace.
	// Should be set in conjunction with RetentionSize for effective retention policy.
	// Retention Quota must exceed configured backlog quota for namespace
	// +optional
	RetentionTime *utils.Duration `json:"retentionTime,omitempty"`

	// RetentionSize specifies the maximum size of backlog retained in the namespace.
	// Should be set in conjunction with RetentionTime for effective retention policy.
	// +optional
	RetentionSize *resource.Quantity `json:"retentionSize,omitempty"`

	// BacklogQuotaLimitTime specifies the time limit for message backlog.
	// Messages older than this limit will be removed or handled according to the retention policy.
	// +optional
	BacklogQuotaLimitTime *utils.Duration `json:"backlogQuotaLimitTime,omitempty"`

	// BacklogQuotaLimitSize specifies the size limit for message backlog.
	// When the limit is reached, older messages will be removed or handled according to the retention policy.
	// +optional
	BacklogQuotaLimitSize *resource.Quantity `json:"backlogQuotaLimitSize,omitempty"`

	// BacklogQuotaRetentionPolicy specifies the retention policy for messages when backlog quota is exceeded.
	// Valid values are "producer_request_hold", "producer_exception", or "consumer_backlog_eviction".
	// +optional
	BacklogQuotaRetentionPolicy *string `json:"backlogQuotaRetentionPolicy,omitempty"`

	// BacklogQuotaType controls how the backlog quota is enforced.
	// "destination_storage" limits backlog by size (in bytes), while "message_age" limits by time.
	// +kubebuilder:validation:Enum=destination_storage;message_age
	// +optional
	BacklogQuotaType *string `json:"backlogQuotaType,omitempty"`

	// OffloadThresholdTime specifies the time limit for message offloading.
	// Messages older than this limit will be offloaded to the tiered storage.
	// +optional
	OffloadThresholdTime *utils.Duration `json:"offloadThresholdTime,omitempty"`

	// OffloadThresholdSize specifies the size limit for message offloading.
	// When the limit is reached, older messages will be offloaded to the tiered storage.
	// +optional
	OffloadThresholdSize *resource.Quantity `json:"offloadThresholdSize,omitempty"`

	// GeoReplicationRefs is a list of references to PulsarGeoReplication resources,
	// used to configure geo-replication for this namespace.
	// This is **ONLY** used when you are using PulsarGeoReplication for setting up geo-replication
	// between two Pulsar instances.
	// Please use `ReplicationClusters` instead if you are replicating clusters within the same Pulsar instance.
	// +optional
	GeoReplicationRefs []*corev1.LocalObjectReference `json:"geoReplicationRefs,omitempty"`

	// ReplicationClusters is the list of clusters to which the namespace is replicated
	// This is **ONLY** used if you are replicating clusters within the same Pulsar instance.
	// Please use `GeoReplicationRefs` instead if you are setting up geo-replication
	// between two Pulsar instances.
	// +optional
	ReplicationClusters []string `json:"replicationClusters,omitempty"`

	// Deduplication controls whether to enable message deduplication for the namespace.
	// +optional
	Deduplication *bool `json:"deduplication,omitempty"`

	// BookieAffinityGroup is the name of the namespace isolation policy to apply to the namespace.
	BookieAffinityGroup *BookieAffinityGroupData `json:"bookieAffinityGroup,omitempty"`
}

PulsarNamespaceSpec defines the desired state of a Pulsar namespace. It corresponds to the configuration options available in Pulsar's namespace admin API.

func (*PulsarNamespaceSpec) DeepCopy

func (in *PulsarNamespaceSpec) DeepCopy() *PulsarNamespaceSpec

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

func (*PulsarNamespaceSpec) DeepCopyInto

func (in *PulsarNamespaceSpec) DeepCopyInto(out *PulsarNamespaceSpec)

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

type PulsarNamespaceStatus

type PulsarNamespaceStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// This field is used to track whether the controller has processed the latest changes.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the namespace's current state.
	// It follows the Kubernetes conventions for condition types and status.
	// The "Ready" condition type is typically used to indicate the overall status of the namespace.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// GeoReplicationEnabled indicates whether geo-replication between two Pulsar instances (via PulsarGeoReplication)
	// is enabled for the namespace
	// +optional
	GeoReplicationEnabled bool `json:"geoReplicationEnabled,omitempty"`
}

PulsarNamespaceStatus defines the observed state of PulsarNamespace

func (*PulsarNamespaceStatus) DeepCopy

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

func (*PulsarNamespaceStatus) DeepCopyInto

func (in *PulsarNamespaceStatus) DeepCopyInto(out *PulsarNamespaceStatus)

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

type PulsarPackage added in v0.5.0

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

	Spec   PulsarPackageSpec   `json:"spec,omitempty"`
	Status PulsarPackageStatus `json:"status,omitempty"`
}

PulsarPackage is the Schema for the pulsar package management service's package API

func (*PulsarPackage) DeepCopy added in v0.5.0

func (in *PulsarPackage) DeepCopy() *PulsarPackage

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

func (*PulsarPackage) DeepCopyInto added in v0.5.0

func (in *PulsarPackage) DeepCopyInto(out *PulsarPackage)

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

func (*PulsarPackage) DeepCopyObject added in v0.5.0

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

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

type PulsarPackageList added in v0.5.0

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

PulsarPackageList contains a list of PulsarPackage

func (*PulsarPackageList) DeepCopy added in v0.5.0

func (in *PulsarPackageList) DeepCopy() *PulsarPackageList

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

func (*PulsarPackageList) DeepCopyInto added in v0.5.0

func (in *PulsarPackageList) DeepCopyInto(out *PulsarPackageList)

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

func (*PulsarPackageList) DeepCopyObject added in v0.5.0

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

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

type PulsarPackageSpec added in v0.5.0

type PulsarPackageSpec struct {

	// PackageURL is the Pulsar Package URL, in format of type://tenant/namespace/package@version
	// +kubebuilder:validation:Required
	PackageURL string `json:"packageURL"`

	// FileURL is the download-able URL of the package from http or https protocol
	// +kubebuilder:validation:Required
	FileURL string `json:"fileURL"`

	// ConnectionRef is the reference to the PulsarConnection resource
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// +optional
	Description string `json:"description,omitempty"`

	// +optional
	Contact string `json:"contact,omitempty"`

	// +optional
	Properties map[string]string `json:"properties,omitempty"`

	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`
}

PulsarPackageSpec defines the desired state of PulsarPackage

func (*PulsarPackageSpec) DeepCopy added in v0.5.0

func (in *PulsarPackageSpec) DeepCopy() *PulsarPackageSpec

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

func (*PulsarPackageSpec) DeepCopyInto added in v0.5.0

func (in *PulsarPackageSpec) DeepCopyInto(out *PulsarPackageSpec)

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

type PulsarPackageStatus added in v0.5.0

type PulsarPackageStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Represents the observations of a connection's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarPackageStatus defines the observed state of PulsarPackage

func (*PulsarPackageStatus) DeepCopy added in v0.5.0

func (in *PulsarPackageStatus) DeepCopy() *PulsarPackageStatus

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

func (*PulsarPackageStatus) DeepCopyInto added in v0.5.0

func (in *PulsarPackageStatus) DeepCopyInto(out *PulsarPackageStatus)

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

type PulsarPermission

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

	Spec   PulsarPermissionSpec   `json:"spec,omitempty"`
	Status PulsarPermissionStatus `json:"status,omitempty"`
}

PulsarPermission is the Schema for the pulsarpermissions API. It represents a set of permissions granted to specific roles for a Pulsar resource (namespace or topic).

func (*PulsarPermission) DeepCopy

func (in *PulsarPermission) DeepCopy() *PulsarPermission

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

func (*PulsarPermission) DeepCopyInto

func (in *PulsarPermission) DeepCopyInto(out *PulsarPermission)

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

func (*PulsarPermission) DeepCopyObject

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

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

type PulsarPermissionList

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

PulsarPermissionList contains a list of PulsarPermission resources. It is used by the Kubernetes API to return multiple PulsarPermission objects.

func (*PulsarPermissionList) DeepCopy

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

func (*PulsarPermissionList) DeepCopyInto

func (in *PulsarPermissionList) DeepCopyInto(out *PulsarPermissionList)

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

func (*PulsarPermissionList) DeepCopyObject

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

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

type PulsarPermissionSpec

type PulsarPermissionSpec struct {

	// ConnectionRef is the reference to the PulsarConnection resource
	// used to connect to the Pulsar cluster for this permission.
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// ResourceName is the name of the target resource (namespace or topic)
	// to which the permissions will be granted.
	ResourceName string `json:"resourceName"`

	// ResourceType indicates whether the permission is for a namespace or a topic.
	// +kubebuilder:validation:Enum=namespace;topic
	ResoureType PulsarResourceType `json:"resourceType"`

	// Roles is a list of role names that will be granted the specified permissions
	// for the target resource.
	Roles []string `json:"roles"`

	// Actions is a list of permissions to grant.
	// Valid options include "produce", "consume", and "functions".
	// +optional
	Actions []string `json:"actions,omitempty"`

	// LifecyclePolicy determines how to handle the Pulsar permissions
	// when the PulsarPermission resource is deleted.
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`
}

PulsarPermissionSpec defines the desired state of PulsarPermission. It specifies the configuration for granting permissions to Pulsar resources.

func (*PulsarPermissionSpec) DeepCopy

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

func (*PulsarPermissionSpec) DeepCopyInto

func (in *PulsarPermissionSpec) DeepCopyInto(out *PulsarPermissionSpec)

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

type PulsarPermissionStatus

type PulsarPermissionStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// This field is used to track whether the controller has processed the latest changes.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the PulsarPermission's current state.
	// It follows the Kubernetes conventions for condition types and status.
	// The "Ready" condition type is typically used to indicate the overall status of the permission configuration.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarPermissionStatus defines the observed state of PulsarPermission. It provides information about the current status of the Pulsar permission configuration.

func (*PulsarPermissionStatus) DeepCopy

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

func (*PulsarPermissionStatus) DeepCopyInto

func (in *PulsarPermissionStatus) DeepCopyInto(out *PulsarPermissionStatus)

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

type PulsarResourceLifeCyclePolicy

type PulsarResourceLifeCyclePolicy string

PulsarResourceLifeCyclePolicy defines the behavior for managing Pulsar resources when the corresponding custom resource (CR) is deleted from the Kubernetes cluster. This policy allows users to control whether Pulsar resources should be retained or removed from the Pulsar cluster after the CR is deleted.

const (
	// KeepAfterDeletion instructs the operator to retain the Pulsar resource
	// in the Pulsar cluster even after the corresponding CR is deleted from Kubernetes.
	// Use this option when:
	// - You want to preserve data or configurations in Pulsar for backup or future use.
	// - You're performing temporary maintenance on Kubernetes resources without affecting Pulsar.
	// - You need to migrate or recreate Kubernetes resources without losing Pulsar data.
	KeepAfterDeletion PulsarResourceLifeCyclePolicy = "KeepAfterDeletion"

	// CleanUpAfterDeletion instructs the operator to remove the Pulsar resource
	// from the Pulsar cluster when the corresponding CR is deleted from Kubernetes.
	// Use this option when:
	// - You want to ensure complete removal of resources to free up Pulsar cluster capacity.
	// - You're decommissioning services or environments and need to clean up all associated resources.
	// - You want to maintain strict synchronization between Kubernetes and Pulsar resources.
	CleanUpAfterDeletion PulsarResourceLifeCyclePolicy = "CleanUpAfterDeletion"
)

type PulsarResourceType

type PulsarResourceType string

PulsarResourceType indicates the type of Pulsar resource for which permissions can be granted. Currently, it supports namespace and topic level permissions.

const (
	// PulsarResourceTypeNamespace represents a Pulsar namespace resource.
	// Use this when granting permissions at the namespace level.
	PulsarResourceTypeNamespace PulsarResourceType = "namespace"

	// PulsarResourceTypeTopic represents a Pulsar topic resource.
	// Use this when granting permissions at the individual topic level.
	PulsarResourceTypeTopic PulsarResourceType = "topic"
)

type PulsarSink added in v0.5.0

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

	Spec   PulsarSinkSpec   `json:"spec,omitempty"`
	Status PulsarSinkStatus `json:"status,omitempty"`
}

PulsarSink is the Schema for the pulsar functions API

func (*PulsarSink) DeepCopy added in v0.5.0

func (in *PulsarSink) DeepCopy() *PulsarSink

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

func (*PulsarSink) DeepCopyInto added in v0.5.0

func (in *PulsarSink) DeepCopyInto(out *PulsarSink)

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

func (*PulsarSink) DeepCopyObject added in v0.5.0

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

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

type PulsarSinkList added in v0.5.0

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

PulsarSinkList contains a list of PulsarSink

func (*PulsarSinkList) DeepCopy added in v0.5.0

func (in *PulsarSinkList) DeepCopy() *PulsarSinkList

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

func (*PulsarSinkList) DeepCopyInto added in v0.5.0

func (in *PulsarSinkList) DeepCopyInto(out *PulsarSinkList)

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

func (*PulsarSinkList) DeepCopyObject added in v0.5.0

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

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

type PulsarSinkSpec added in v0.5.0

type PulsarSinkSpec struct {

	// TopicsPattern is the pattern of topics to consume from Pulsar
	// +optional
	TopicsPattern *string `json:"topicsPattern,omitempty"`

	// Resources is the resource requirements for the PulsarSink
	// +optional
	Resources *Resources `json:"resources,omitempty"`

	// TimeoutMs is the timeout in milliseconds for the PulsarSink
	// +optional
	TimeoutMs *int64 `json:"timeoutMs,omitempty"`

	// CleanupSubscription is the flag to enable or disable the cleanup of subscription
	// +optional
	CleanupSubscription bool `json:"cleanupSubscription,omitempty"`

	// RetainOrdering is the flag to enable or disable the retain ordering
	// +optional
	RetainOrdering bool `json:"retainOrdering,omitempty"`

	// RetainKeyOrdering is the flag to enable or disable the retain key ordering
	// +optional
	RetainKeyOrdering bool `json:"retainKeyOrdering,omitempty"`

	// AutoAck is the flag to enable or disable the auto ack
	// +optional
	AutoAck bool `json:"autoAck,omitempty"`

	// Parallelism is the parallelism of the PulsarSink
	// +optional
	Parallelism int `json:"parallelism,omitempty"`

	// Tenant is the tenant of the PulsarSink
	// +optional
	Tenant string `json:"tenant,omitempty"`

	// Namespace is the namespace of the PulsarSink
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the PulsarSink
	// +optional
	Name string `json:"name,omitempty"`

	// ClassName is the class name of the PulsarSink
	// +optional
	ClassName string `json:"className,omitempty"`

	// SinkType is the type of the PulsarSink
	// +optional
	SinkType string `json:"sinkType,omitempty"`

	// Archive is the archive of the PulsarSink
	// +optional
	Archive *PackageContentRef `json:"archive,omitempty"`

	// ProcessingGuarantees is the processing guarantees of the PulsarSink
	// +optional
	ProcessingGuarantees string `json:"processingGuarantees,omitempty"`

	// SourceSubscriptionName is the source subscription name of the PulsarSink
	// +optional
	SourceSubscriptionName string `json:"sourceSubscriptionName,omitempty"`

	// SourceSubscriptionPosition is the source subscription position of the PulsarSink
	// +optional
	SourceSubscriptionPosition string `json:"sourceSubscriptionPosition,omitempty"`

	// RuntimeFlags is the runtime flags of the PulsarSink
	// +optional
	RuntimeFlags string `json:"runtimeFlags,omitempty"`

	// Inputs is the list of inputs of the PulsarSink
	// +optional
	Inputs []string `json:"inputs,omitempty"`

	// TopicToSerdeClassName is the map of topic to serde class name of the PulsarSink
	// +optional
	TopicToSerdeClassName map[string]string `json:"topicToSerdeClassName,omitempty"`

	// TopicToSchemaType is the map of topic to schema type of the PulsarSink
	// +optional
	TopicToSchemaType map[string]string `json:"topicToSchemaType,omitempty"`

	// InputSpecs is the map of input specs of the PulsarSink
	// +optional
	InputSpecs map[string]ConsumerConfig `json:"inputSpecs,omitempty"`

	// Configs is the map of configs of the PulsarSink
	// +optional
	Configs *apiextensionsv1.JSON `json:"configs,omitempty"`

	// TopicToSchemaProperties is the map of topic to schema properties of the PulsarSink
	// +optional
	TopicToSchemaProperties map[string]string `json:"topicToSchemaProperties,omitempty"`

	// CustomRuntimeOptions is the custom runtime options of the PulsarSink
	// +optional
	CustomRuntimeOptions *apiextensionsv1.JSON `json:"customRuntimeOptions,omitempty"`

	// Secrets is the map of secrets of the PulsarSink
	// +optional
	Secrets map[string]FunctionSecretKeyRef `json:"secrets,omitempty"`

	// MaxMessageRetries is the max message retries of the PulsarSink
	// +optional
	MaxMessageRetries int `json:"maxMessageRetries,omitempty"`

	// DeadLetterTopic is the dead letter topic of the PulsarSink
	// +optional
	DeadLetterTopic string `json:"deadLetterTopic,omitempty"`

	// NegativeAckRedeliveryDelayMs is the negative ack redelivery delay in milliseconds of the PulsarSink
	// +optional
	NegativeAckRedeliveryDelayMs int64 `json:"negativeAckRedeliveryDelayMs,omitempty"`

	// TransformFunction is the transform function of the PulsarSink
	// +optional
	TransformFunction string `json:"transformFunction,omitempty"`

	// TransformFunctionClassName is the transform function class name of the PulsarSink
	// +optional
	TransformFunctionClassName string `json:"transformFunctionClassName,omitempty"`

	// TransformFunctionConfig is the transform function config of the PulsarSink
	// +optional
	TransformFunctionConfig string `json:"transformFunctionConfig,omitempty"`

	// ConnectionRef is the reference to the PulsarConnection resource
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`
}

PulsarSinkSpec defines the desired state of PulsarSink

func (*PulsarSinkSpec) DeepCopy added in v0.5.0

func (in *PulsarSinkSpec) DeepCopy() *PulsarSinkSpec

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

func (*PulsarSinkSpec) DeepCopyInto added in v0.5.0

func (in *PulsarSinkSpec) DeepCopyInto(out *PulsarSinkSpec)

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

type PulsarSinkStatus added in v0.5.0

type PulsarSinkStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Represents the observations of a connection's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarSinkStatus defines the observed state of PulsarSink

func (*PulsarSinkStatus) DeepCopy added in v0.5.0

func (in *PulsarSinkStatus) DeepCopy() *PulsarSinkStatus

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

func (*PulsarSinkStatus) DeepCopyInto added in v0.5.0

func (in *PulsarSinkStatus) DeepCopyInto(out *PulsarSinkStatus)

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

type PulsarSource added in v0.5.0

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

	Spec   PulsarSourceSpec   `json:"spec,omitempty"`
	Status PulsarSourceStatus `json:"status,omitempty"`
}

PulsarSource is the Schema for the pulsar functions API

func (*PulsarSource) DeepCopy added in v0.5.0

func (in *PulsarSource) DeepCopy() *PulsarSource

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

func (*PulsarSource) DeepCopyInto added in v0.5.0

func (in *PulsarSource) DeepCopyInto(out *PulsarSource)

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

func (*PulsarSource) DeepCopyObject added in v0.5.0

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

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

type PulsarSourceList added in v0.5.0

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

PulsarSourceList contains a list of PulsarSource

func (*PulsarSourceList) DeepCopy added in v0.5.0

func (in *PulsarSourceList) DeepCopy() *PulsarSourceList

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

func (*PulsarSourceList) DeepCopyInto added in v0.5.0

func (in *PulsarSourceList) DeepCopyInto(out *PulsarSourceList)

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

func (*PulsarSourceList) DeepCopyObject added in v0.5.0

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

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

type PulsarSourceSpec added in v0.5.0

type PulsarSourceSpec struct {

	// Tenant is the tenant of the PulsarSource
	// +optional
	Tenant string `json:"tenant,omitempty"`

	// Namespace is the namespace of the PulsarSource
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Name is the name of the PulsarSource
	// +optional
	Name string `json:"name,omitempty"`

	// ClassName is the class name of the
	// +optional
	ClassName string `json:"className,omitempty"`

	// ProducerConfig is the producer config of the PulsarSource
	// +optional
	ProducerConfig *ProducerConfig `json:"producerConfig,omitempty"`

	// TopicName is the topic name of the PulsarSource
	// +optional
	TopicName string `json:"topicName,omitempty"`

	// SerdeClassName is the serde class name of the PulsarSource
	// +optional
	SerdeClassName string `json:"serdeClassName,omitempty"`

	// SchemaType is the schema type of the PulsarSource
	// +optional
	SchemaType string `json:"schemaType,omitempty"`

	// Configs is the map of configs of the PulsarSource
	// +optional
	Configs *apiextensionsv1.JSON `json:"configs,omitempty"`

	// Secrets is the map of secrets of the PulsarSource
	// +optional
	Secrets map[string]FunctionSecretKeyRef `json:"secrets,omitempty"`

	// Parallelism is the parallelism of the PulsarSource
	// +optional
	Parallelism int `json:"parallelism,omitempty"`

	// ProcessingGuarantees is the processing guarantees of the PulsarSource
	// +optional
	ProcessingGuarantees string `json:"processingGuarantees,omitempty"`

	// Resources is the resources of the PulsarSource
	// +optional
	Resources *Resources `json:"resources,omitempty"`

	// Archive is the archive of the PulsarSource
	// +optional
	Archive *PackageContentRef `json:"archive,omitempty"`

	// RuntimeFlags is the runtime flags of the PulsarSource
	// +optional
	RuntimeFlags string `json:"runtimeFlags,omitempty"`

	// CustomRuntimeOptions is the custom runtime options of the PulsarSource
	// +optional
	CustomRuntimeOptions *apiextensionsv1.JSON `json:"customRuntimeOptions,omitempty"`

	// BatchSourceConfig is the batch source config of the PulsarSource
	// +optional
	BatchSourceConfig *BatchSourceConfig `json:"batchSourceConfig,omitempty"`

	// BatchBuilder is the batch builder of the PulsarSource
	// +optional
	BatchBuilder string `json:"batchBuilder,omitempty"`

	// ConnectionRef is the reference to the PulsarConnection resource
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`
}

PulsarSourceSpec defines the desired state of PulsarSource

func (*PulsarSourceSpec) DeepCopy added in v0.5.0

func (in *PulsarSourceSpec) DeepCopy() *PulsarSourceSpec

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

func (*PulsarSourceSpec) DeepCopyInto added in v0.5.0

func (in *PulsarSourceSpec) DeepCopyInto(out *PulsarSourceSpec)

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

type PulsarSourceStatus added in v0.5.0

type PulsarSourceStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Represents the observations of a connection's current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarSourceStatus defines the observed state of PulsarSource

func (*PulsarSourceStatus) DeepCopy added in v0.5.0

func (in *PulsarSourceStatus) DeepCopy() *PulsarSourceStatus

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

func (*PulsarSourceStatus) DeepCopyInto added in v0.5.0

func (in *PulsarSourceStatus) DeepCopyInto(out *PulsarSourceStatus)

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

type PulsarTenant

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

	Spec   PulsarTenantSpec   `json:"spec,omitempty"`
	Status PulsarTenantStatus `json:"status,omitempty"`
}

PulsarTenant is the Schema for the pulsartenants API

func (*PulsarTenant) DeepCopy

func (in *PulsarTenant) DeepCopy() *PulsarTenant

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

func (*PulsarTenant) DeepCopyInto

func (in *PulsarTenant) DeepCopyInto(out *PulsarTenant)

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

func (*PulsarTenant) DeepCopyObject

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

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

type PulsarTenantList

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

PulsarTenantList contains a list of PulsarTenant

func (*PulsarTenantList) DeepCopy

func (in *PulsarTenantList) DeepCopy() *PulsarTenantList

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

func (*PulsarTenantList) DeepCopyInto

func (in *PulsarTenantList) DeepCopyInto(out *PulsarTenantList)

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

func (*PulsarTenantList) DeepCopyObject

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

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

type PulsarTenantSpec

type PulsarTenantSpec struct {

	// Name is the tenant name.
	// This field is required and must be unique within the Pulsar cluster.
	Name string `json:"name"`

	// ConnectionRef is the reference to the PulsarConnection resource
	// used to connect to the Pulsar cluster for this tenant.
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// AdminRoles is a list of roles that have administrative privileges for this tenant.
	// These roles can perform actions like creating namespaces, topics, and managing permissions.
	// +optional
	AdminRoles []string `json:"adminRoles,omitempty"`

	// AllowedClusters is a list of clusters that this tenant is allowed to access.
	// This field is optional and can be used to restrict the clusters a tenant can connect to.
	// Please use `GeoReplicationRefs` instead if you are setting up geo-replication
	// between multiple Pulsar instances.
	// +optional
	AllowedClusters []string `json:"allowedClusters,omitempty"`

	// LifecyclePolicy determines whether to keep or delete the Pulsar tenant
	// when the Kubernetes resource is deleted.
	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`

	// GeoReplicationRefs is a list of references to PulsarGeoReplication resources,
	// used to configure geo-replication for this tenant across multiple Pulsar instances.
	// This is **ONLY** used when you are using PulsarGeoReplication for setting up geo-replication
	// between multiple Pulsar instances.
	// Please use `AllowedClusters` instead if you are allowing a tenant to be available within
	// specific clusters in a same Pulsar instance.
	// +optional
	GeoReplicationRefs []*corev1.LocalObjectReference `json:"geoReplicationRefs,omitempty"`
}

PulsarTenantSpec defines the desired state of PulsarTenant. It corresponds to the configuration options available in Pulsar's tenant admin API.

func (*PulsarTenantSpec) DeepCopy

func (in *PulsarTenantSpec) DeepCopy() *PulsarTenantSpec

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

func (*PulsarTenantSpec) DeepCopyInto

func (in *PulsarTenantSpec) DeepCopyInto(out *PulsarTenantSpec)

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

type PulsarTenantStatus

type PulsarTenantStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// This field is used to track whether the controller has processed the latest changes.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the PulsarTenant's current state.
	// It follows the Kubernetes conventions for condition types and status.
	// The "Ready" condition type is typically used to indicate the overall status of the tenant.
	// Other condition types may be used to provide more detailed status information.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PulsarTenantStatus defines the observed state of PulsarTenant. It contains information about the current state of the Pulsar tenant.

func (*PulsarTenantStatus) DeepCopy

func (in *PulsarTenantStatus) DeepCopy() *PulsarTenantStatus

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

func (*PulsarTenantStatus) DeepCopyInto

func (in *PulsarTenantStatus) DeepCopyInto(out *PulsarTenantStatus)

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

type PulsarTopic

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

	Spec   PulsarTopicSpec   `json:"spec,omitempty"`
	Status PulsarTopicStatus `json:"status,omitempty"`
}

PulsarTopic is the Schema for the pulsartopics API It represents a Pulsar topic in the Kubernetes cluster and includes both the desired state (Spec) and the observed state (Status) of the topic.

func (*PulsarTopic) DeepCopy

func (in *PulsarTopic) DeepCopy() *PulsarTopic

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

func (*PulsarTopic) DeepCopyInto

func (in *PulsarTopic) DeepCopyInto(out *PulsarTopic)

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

func (*PulsarTopic) DeepCopyObject

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

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

type PulsarTopicList

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

PulsarTopicList contains a list of PulsarTopic resources. It is used by the Kubernetes API to return multiple PulsarTopic objects.

func (*PulsarTopicList) DeepCopy

func (in *PulsarTopicList) DeepCopy() *PulsarTopicList

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

func (*PulsarTopicList) DeepCopyInto

func (in *PulsarTopicList) DeepCopyInto(out *PulsarTopicList)

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

func (*PulsarTopicList) DeepCopyObject

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

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

type PulsarTopicSpec

type PulsarTopicSpec struct {

	// Name is the topic name
	Name string `json:"name"`

	// Persistent determines if the topic is persistent (true) or non-persistent (false).
	// Defaults to true if not specified.
	// +kubebuilder:default=true
	// +optional
	Persistent *bool `json:"persistent,omitempty"`

	// Partitions specifies the number of partitions for a partitioned topic.
	// Set to 0 for a non-partitioned topic.
	// +kubebuilder:default=0
	// +optional
	Partitions *int32 `json:"partitions,omitempty"`

	// ConnectionRef is the reference to the PulsarConnection resource
	// used to connect to the Pulsar cluster for this topic.
	ConnectionRef corev1.LocalObjectReference `json:"connectionRef"`

	// LifecyclePolicy determines whether to keep or delete the Pulsar topic
	// when the Kubernetes resource is deleted.
	// +kubebuilder:validation:Enum=CleanUpAfterDeletion;KeepAfterDeletion
	// +optional
	LifecyclePolicy PulsarResourceLifeCyclePolicy `json:"lifecyclePolicy,omitempty"`

	// MaxProducers sets the maximum number of producers allowed on the topic.
	// +optional
	MaxProducers *int32 `json:"maxProducers,omitempty"`

	// MaxConsumers sets the maximum number of consumers allowed on the topic.
	// +optional
	MaxConsumers *int32 `json:"maxConsumers,omitempty"`

	// MessageTTL specifies the Time to Live (TTL) for messages on the topic.
	// Messages older than this TTL will be automatically marked as deleted.
	// +optional
	MessageTTL *utils.Duration `json:"messageTTL,omitempty"`

	// MaxUnAckedMessagesPerConsumer sets the maximum number of unacknowledged
	// messages allowed for a consumer before it's blocked from receiving more messages.
	// +optional
	MaxUnAckedMessagesPerConsumer *int32 `json:"maxUnAckedMessagesPerConsumer,omitempty"`

	// MaxUnAckedMessagesPerSubscription sets the maximum number of unacknowledged
	// messages allowed for a subscription before it's blocked from receiving more messages.
	// +optional
	MaxUnAckedMessagesPerSubscription *int32 `json:"maxUnAckedMessagesPerSubscription,omitempty"`

	// RetentionTime specifies the minimum time to retain messages on the topic.
	// Should be set in conjunction with RetentionSize for effective retention policy.
	// Retention Quota must exceed configured backlog quota for topic
	// +optional
	RetentionTime *utils.Duration `json:"retentionTime,omitempty"`

	// RetentionSize specifies the maximum size of backlog retained on the topic.
	// Should be set in conjunction with RetentionTime for effective retention policy.
	// Retention Quota must exceed configured backlog quota for topic
	// +optional
	RetentionSize *resource.Quantity `json:"retentionSize,omitempty"`

	// BacklogQuotaLimitTime specifies the time limit for message backlog.
	// Messages older than this limit will be removed or handled according to the retention policy.
	// +optional
	BacklogQuotaLimitTime *utils.Duration `json:"backlogQuotaLimitTime,omitempty"`

	// BacklogQuotaLimitSize specifies the size limit for message backlog.
	// When the limit is reached, older messages will be removed or handled according to the retention policy.
	// +optional
	BacklogQuotaLimitSize *resource.Quantity `json:"backlogQuotaLimitSize,omitempty"`

	// BacklogQuotaRetentionPolicy specifies the retention policy for messages when backlog quota is exceeded.
	// Valid values are "producer_request_hold", "producer_exception", or "consumer_backlog_eviction".
	// +optional
	BacklogQuotaRetentionPolicy *string `json:"backlogQuotaRetentionPolicy,omitempty"`

	// SchemaInfo defines the schema for the topic, if any.
	// +optional
	SchemaInfo *SchemaInfo `json:"schemaInfo,omitempty"`

	// GeoReplicationRefs is a list of references to PulsarGeoReplication resources,
	// used to configure geo-replication for this topic across multiple Pulsar instances.
	// This is **ONLY** used when you are using PulsarGeoReplication for setting up geo-replication
	// between two Pulsar instances.
	// +optional
	GeoReplicationRefs []*corev1.LocalObjectReference `json:"geoReplicationRefs,omitempty"`

	// ReplicationClusters is the list of clusters to which the topic is replicated
	// This is **ONLY** used if you are replicating clusters within the same Pulsar instance.
	// Please use `GeoReplicationRefs` instead if you are setting up geo-replication
	// between two Pulsar instances.
	// +optional
	ReplicationClusters []string `json:"replicationClusters,omitempty"`

	// Deduplication controls whether to enable message deduplication for the topic.
	// +optional
	Deduplication *bool `json:"deduplication,omitempty"`
}

PulsarTopicSpec defines the desired state of PulsarTopic. It corresponds to the configuration options available in Pulsar's topic admin API.

func (*PulsarTopicSpec) DeepCopy

func (in *PulsarTopicSpec) DeepCopy() *PulsarTopicSpec

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

func (*PulsarTopicSpec) DeepCopyInto

func (in *PulsarTopicSpec) DeepCopyInto(out *PulsarTopicSpec)

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

type PulsarTopicStatus

type PulsarTopicStatus struct {

	// ObservedGeneration is the most recent generation observed for this resource.
	// It corresponds to the metadata generation, which is updated on mutation by the API Server.
	// This field is used to track whether the controller has processed the latest changes.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions represent the latest available observations of the PulsarTopic's current state.
	// It follows the Kubernetes conventions for condition types and status.
	// The "Ready" condition type indicates the overall status of the topic.
	// The "PolicyReady" condition type indicates whether the topic policies have been successfully applied.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// GeoReplicationEnabled indicates whether geo-replication is enabled for this topic.
	// This is set to true when GeoReplicationRefs are configured in the spec and successfully applied.
	// +optional
	GeoReplicationEnabled bool `json:"geoReplicationEnabled,omitempty"`
}

PulsarTopicStatus defines the observed state of PulsarTopic

func (*PulsarTopicStatus) DeepCopy

func (in *PulsarTopicStatus) DeepCopy() *PulsarTopicStatus

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

func (*PulsarTopicStatus) DeepCopyInto

func (in *PulsarTopicStatus) DeepCopyInto(out *PulsarTopicStatus)

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

type ResourceSpec added in v0.8.0

type ResourceSpec struct {
	// CPU represents the minimum amount of CPU required.
	// +kubebuilder:validation:Required
	CPU string `json:"cpu"`

	// Memory represents the minimum amount of memory required.
	// +kubebuilder:validation:Required
	Memory string `json:"memory"`
}

ResourceSpec defines the resource requirements for a component.

func (*ResourceSpec) DeepCopy added in v0.8.0

func (in *ResourceSpec) DeepCopy() *ResourceSpec

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

func (*ResourceSpec) DeepCopyInto added in v0.8.0

func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)

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

type Resources added in v0.5.0

type Resources struct {
	// +optional
	CPU string `json:"cpu,omitempty"`

	// +optional
	Disk int64 `json:"disk,omitempty"`

	// +optional
	RAM int64 `json:"ram,omitempty"`
}

Resources indicates the resources for the pulsar functions and connectors

func (*Resources) DeepCopy added in v0.5.0

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto added in v0.5.0

func (in *Resources) DeepCopyInto(out *Resources)

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

type SchemaInfo added in v0.2.0

type SchemaInfo struct {
	// Type determines how to interpret the schema data.
	// Valid values include: "AVRO", "JSON", "PROTOBUF", "PROTOBUF_NATIVE", "KEY_VALUE", "BYTES", or "NONE".
	// For KEY_VALUE schemas, use the format "KEY_VALUE(KeyType,ValueType)" where KeyType and ValueType
	// are one of the other schema types.
	Type string `json:"type,omitempty"`

	// Schema contains the actual schema definition.
	// For AVRO and JSON schemas, this should be a JSON string of the schema definition.
	// For PROTOBUF schemas, this should be the protobuf definition string.
	// For BYTES or NONE schemas, this field can be empty.
	Schema string `json:"schema,omitempty"`

	// Properties is a map of user-defined properties associated with the schema.
	// These can be used to store additional metadata about the schema.
	Properties map[string]string `json:"properties,omitempty"`
}

SchemaInfo defines the Pulsar Schema for a topic. It is stored and enforced on a per-topic basis and cannot be stored at the namespace or tenant level.

func (*SchemaInfo) DeepCopy added in v0.2.0

func (in *SchemaInfo) DeepCopy() *SchemaInfo

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

func (*SchemaInfo) DeepCopyInto added in v0.2.0

func (in *SchemaInfo) DeepCopyInto(out *SchemaInfo)

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

type SecretKeyRef

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

SecretKeyRef indicates a secret name and key

func (*SecretKeyRef) DeepCopy

func (in *SecretKeyRef) DeepCopy() *SecretKeyRef

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

func (*SecretKeyRef) DeepCopyInto

func (in *SecretKeyRef) DeepCopyInto(out *SecretKeyRef)

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

type ServiceAccountCredentials added in v0.8.0

type ServiceAccountCredentials struct {
	// Type is the type of the credentials, must be "sn_service_account"
	Type string `json:"type"`

	// ClientID is the OAuth2 client ID
	ClientID string `json:"client_id"`

	// ClientSecret is the OAuth2 client secret
	ClientSecret string `json:"client_secret"`

	// ClientEmail is the email address of the service account
	ClientEmail string `json:"client_email"`

	// IssuerURL is the OpenID Connect issuer URL
	IssuerURL string `json:"issuer_url"`
}

ServiceAccountCredentials defines the structure of the service account credentials file

func (*ServiceAccountCredentials) DeepCopy added in v0.8.0

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

func (*ServiceAccountCredentials) DeepCopyInto added in v0.8.0

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

type StreamNativeCloudConnection added in v0.8.0

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

	Spec   StreamNativeCloudConnectionSpec   `json:"spec,omitempty"`
	Status StreamNativeCloudConnectionStatus `json:"status,omitempty"`
}

StreamNativeCloudConnection is the Schema for the StreamNativeCloudConnections API

func (*StreamNativeCloudConnection) DeepCopy added in v0.8.0

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

func (*StreamNativeCloudConnection) DeepCopyInto added in v0.8.0

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

func (*StreamNativeCloudConnection) DeepCopyObject added in v0.8.0

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

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

type StreamNativeCloudConnectionList added in v0.8.0

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

StreamNativeCloudConnectionList contains a list of StreamNativeCloudConnection

func (*StreamNativeCloudConnectionList) DeepCopy added in v0.8.0

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

func (*StreamNativeCloudConnectionList) DeepCopyInto added in v0.8.0

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

func (*StreamNativeCloudConnectionList) DeepCopyObject added in v0.8.0

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

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

type StreamNativeCloudConnectionSpec added in v0.8.0

type StreamNativeCloudConnectionSpec struct {
	// Server is the URL of the API server
	// +required
	Server string `json:"server"`

	// Auth defines the authentication configuration
	// +required
	Auth AuthConfig `json:"auth"`

	// Logs defines the logging service configuration
	// +optional
	Logs LogConfig `json:"logs,omitempty"`

	// Organization is the organization to use in the API server
	// If not specified, the operator will use the connection name as the organization
	// +optional
	Organization string `json:"organization,omitempty"`
}

StreamNativeCloudConnectionSpec defines the desired state of StreamNativeCloudConnection

func (*StreamNativeCloudConnectionSpec) DeepCopy added in v0.8.0

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

func (*StreamNativeCloudConnectionSpec) DeepCopyInto added in v0.8.0

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

type StreamNativeCloudConnectionStatus added in v0.8.0

type StreamNativeCloudConnectionStatus struct {
	// Conditions represent the latest available observations of an object's state
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the last observed generation.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// LastConnectedTime is the last time we successfully connected to the API server
	// +optional
	LastConnectedTime *metav1.Time `json:"lastConnectedTime,omitempty"`
}

StreamNativeCloudConnectionStatus defines the observed state of StreamNativeCloudConnection

func (*StreamNativeCloudConnectionStatus) DeepCopy added in v0.8.0

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

func (*StreamNativeCloudConnectionStatus) DeepCopyInto added in v0.8.0

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

type UserMetadata added in v0.8.0

type UserMetadata struct {
	// Name of the deployment
	// +optional
	Name string `json:"name,omitempty"`

	// Namespace of the deployment
	// +optional
	Namespace string `json:"namespace,omitempty"`

	// Labels of the deployment
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations of the deployment
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// DisplayName of the deployment
	// +optional
	DisplayName string `json:"displayName,omitempty"`
}

UserMetadata defines the metadata for the deployment

func (*UserMetadata) DeepCopy added in v0.8.0

func (in *UserMetadata) DeepCopy() *UserMetadata

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

func (*UserMetadata) DeepCopyInto added in v0.8.0

func (in *UserMetadata) DeepCopyInto(out *UserMetadata)

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

type ValueOrSecretRef

type ValueOrSecretRef struct {
	// +optional
	Value *string `json:"value,omitempty"`

	// +optional
	SecretRef *SecretKeyRef `json:"secretRef,omitempty"`
}

ValueOrSecretRef is a string or a secret reference of the authentication

func (*ValueOrSecretRef) DeepCopy

func (in *ValueOrSecretRef) DeepCopy() *ValueOrSecretRef

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

func (*ValueOrSecretRef) DeepCopyInto

func (in *ValueOrSecretRef) DeepCopyInto(out *ValueOrSecretRef)

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

type Volume added in v0.8.0

type Volume struct {
	// Volume's name.
	// +required
	Name string `json:"name"`

	// VolumeSource represents the location and type of the mounted volume.
	// +required
	VolumeSource `json:",inline"`
}

Volume represents a named volume in a pod

func (*Volume) DeepCopy added in v0.8.0

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto added in v0.8.0

func (in *Volume) DeepCopyInto(out *Volume)

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

type VolumeSource added in v0.8.0

type VolumeSource struct {
	// ConfigMap represents a configMap that should populate this volume
	// +optional
	ConfigMap *corev1.ConfigMapVolumeSource `json:"configMap,omitempty"`

	// Secret represents a secret that should populate this volume.
	// +optional
	Secret *corev1.SecretVolumeSource `json:"secret,omitempty"`
}

VolumeSource represents the source location of a volume to mount.

func (*VolumeSource) DeepCopy added in v0.8.0

func (in *VolumeSource) DeepCopy() *VolumeSource

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

func (*VolumeSource) DeepCopyInto added in v0.8.0

func (in *VolumeSource) DeepCopyInto(out *VolumeSource)

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

type VvpDeploymentDetails added in v0.8.0

type VvpDeploymentDetails struct {
	// DeploymentTargetName defines the target name for the deployment
	// +optional
	DeploymentTargetName *string `json:"deploymentTargetName,omitempty"`

	// JobFailureExpirationTime defines the expiration time for job failures
	// +optional
	JobFailureExpirationTime *string `json:"jobFailureExpirationTime,omitempty"`

	// MaxJobCreationAttempts defines the maximum number of job creation attempts
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxJobCreationAttempts *int32 `json:"maxJobCreationAttempts,omitempty"`

	// MaxSavepointCreationAttempts defines the maximum number of savepoint creation attempts
	// +kubebuilder:validation:Minimum=1
	// +optional
	MaxSavepointCreationAttempts *int32 `json:"maxSavepointCreationAttempts,omitempty"`

	// RestoreStrategy defines the restore strategy for the deployment
	// +optional
	RestoreStrategy *VvpRestoreStrategy `json:"restoreStrategy,omitempty"`

	// SessionClusterName defines the name of the session cluster
	// +optional
	SessionClusterName *string `json:"sessionClusterName,omitempty"`

	// State of the deployment
	// +kubebuilder:validation:Enum=RUNNING;SUSPENDED;CANCELLED
	// +optional
	State string `json:"state,omitempty"`

	// Template defines the deployment template
	// +required
	Template VvpDeploymentDetailsTemplate `json:"template"`
}

VvpDeploymentDetails defines the deployment details

func (*VvpDeploymentDetails) DeepCopy added in v0.8.0

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

func (*VvpDeploymentDetails) DeepCopyInto added in v0.8.0

func (in *VvpDeploymentDetails) DeepCopyInto(out *VvpDeploymentDetails)

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

type VvpDeploymentDetailsTemplate added in v0.8.0

type VvpDeploymentDetailsTemplate struct {
	// Metadata of the deployment
	// +optional
	Metadata VvpDeploymentDetailsTemplateMetadata `json:"metadata,omitempty"`

	// Spec defines the deployment specification
	// +required
	Spec VvpDeploymentDetailsTemplateSpec `json:"spec"`
}

VvpDeploymentDetailsTemplate defines the deployment template

func (*VvpDeploymentDetailsTemplate) DeepCopy added in v0.8.0

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

func (*VvpDeploymentDetailsTemplate) DeepCopyInto added in v0.8.0

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

type VvpDeploymentDetailsTemplateMetadata added in v0.8.0

type VvpDeploymentDetailsTemplateMetadata struct {
	// Annotations to add to the deployment
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

VvpDeploymentDetailsTemplateMetadata defines the metadata for the deployment template

func (*VvpDeploymentDetailsTemplateMetadata) DeepCopy added in v0.8.0

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

func (*VvpDeploymentDetailsTemplateMetadata) DeepCopyInto added in v0.8.0

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

type VvpDeploymentDetailsTemplateSpec added in v0.8.0

type VvpDeploymentDetailsTemplateSpec struct {
	// Artifact defines the deployment artifact
	// +required
	Artifact *Artifact `json:"artifact"`

	// FlinkConfiguration defines the Flink configuration
	// +optional
	FlinkConfiguration map[string]string `json:"flinkConfiguration,omitempty"`

	// +optional
	Kubernetes *VvpDeploymentDetailsTemplateSpecKubernetesSpec `json:"kubernetes,omitempty"`

	// +optional
	LatestCheckpointFetchInterval *int32 `json:"latestCheckpointFetchInterval,omitempty"`

	// +optional
	Logging *Logging `json:"logging,omitempty"`

	// +optional
	NumberOfTaskManagers *int32 `json:"numberOfTaskManagers,omitempty"`

	// +optional
	Parallelism *int32 `json:"parallelism,omitempty"`

	// +optional
	Resources *VvpDeploymentKubernetesResources `json:"resources,omitempty"`
}

VvpDeploymentDetailsTemplateSpec defines the deployment template specification

func (*VvpDeploymentDetailsTemplateSpec) DeepCopy added in v0.8.0

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

func (*VvpDeploymentDetailsTemplateSpec) DeepCopyInto added in v0.8.0

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

type VvpDeploymentDetailsTemplateSpecKubernetesSpec added in v0.8.0

type VvpDeploymentDetailsTemplateSpecKubernetesSpec struct {
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

VvpDeploymentDetailsTemplateSpecKubernetesSpec defines the Kubernetes spec for the deployment

func (*VvpDeploymentDetailsTemplateSpecKubernetesSpec) DeepCopy added in v0.8.0

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

func (*VvpDeploymentDetailsTemplateSpecKubernetesSpec) DeepCopyInto added in v0.8.0

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

type VvpDeploymentKubernetesResources added in v0.8.0

type VvpDeploymentKubernetesResources struct {
	// +optional
	Jobmanager *ResourceSpec `json:"jobmanager,omitempty"`

	// +optional
	Taskmanager *ResourceSpec `json:"taskmanager,omitempty"`
}

VvpDeploymentKubernetesResources defines the Kubernetes resources for the VvpDeployment.

func (*VvpDeploymentKubernetesResources) DeepCopy added in v0.8.0

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

func (*VvpDeploymentKubernetesResources) DeepCopyInto added in v0.8.0

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

type VvpDeploymentStatus added in v0.8.0

type VvpDeploymentStatus struct {
	// CustomResourceState defines the state of the custom resource
	// +optional
	CustomResourceState string `json:"customResourceState,omitempty"`

	// DeploymentID defines the ID of the deployment
	// +optional
	DeploymentID string `json:"deploymentId,omitempty"`

	// StatusState defines the state of the status
	// +optional
	StatusState string `json:"statusState,omitempty"`

	// DeploymentNamespace defines the namespace of the deployment
	// +optional
	DeploymentNamespace string `json:"deploymentNamespace,omitempty"`
}

VvpDeploymentStatus defines the deployment status

func (*VvpDeploymentStatus) DeepCopy added in v0.8.0

func (in *VvpDeploymentStatus) DeepCopy() *VvpDeploymentStatus

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

func (*VvpDeploymentStatus) DeepCopyInto added in v0.8.0

func (in *VvpDeploymentStatus) DeepCopyInto(out *VvpDeploymentStatus)

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

type VvpDeploymentTemplate added in v0.8.0

type VvpDeploymentTemplate struct {
	// SyncingMode defines how the deployment should be synced
	// +optional
	SyncingMode string `json:"syncingMode,omitempty"`

	// Deployment defines the deployment configuration
	// +required
	Deployment VvpDeploymentTemplateSpec `json:"deployment"`
}

VvpDeploymentTemplate defines the VVP deployment template

func (*VvpDeploymentTemplate) DeepCopy added in v0.8.0

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

func (*VvpDeploymentTemplate) DeepCopyInto added in v0.8.0

func (in *VvpDeploymentTemplate) DeepCopyInto(out *VvpDeploymentTemplate)

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

type VvpDeploymentTemplateSpec added in v0.8.0

type VvpDeploymentTemplateSpec struct {
	// UserMetadata defines the metadata for the deployment
	// +required
	UserMetadata UserMetadata `json:"userMetadata"`

	// Spec defines the deployment specification
	// +required
	Spec VvpDeploymentDetails `json:"spec"`
}

VvpDeploymentTemplateSpec defines the deployment configuration

func (*VvpDeploymentTemplateSpec) DeepCopy added in v0.8.0

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

func (*VvpDeploymentTemplateSpec) DeepCopyInto added in v0.8.0

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

type VvpRestoreStrategy added in v0.8.0

type VvpRestoreStrategy struct {
	AllowNonRestoredState bool   `json:"allowNonRestoredState,omitempty"`
	Kind                  string `json:"kind,omitempty"`
}

VvpRestoreStrategy defines the restore strategy of the deployment

func (*VvpRestoreStrategy) DeepCopy added in v0.8.0

func (in *VvpRestoreStrategy) DeepCopy() *VvpRestoreStrategy

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

func (*VvpRestoreStrategy) DeepCopyInto added in v0.8.0

func (in *VvpRestoreStrategy) DeepCopyInto(out *VvpRestoreStrategy)

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

type WindowConfig added in v0.5.0

type WindowConfig struct {
	// +optional
	WindowLengthCount *int `json:"windowLengthCount,omitempty" yaml:"windowLengthCount"`

	// +optional
	WindowLengthDurationMs *int64 `json:"windowLengthDurationMs,omitempty" yaml:"windowLengthDurationMs"`

	// +optional
	SlidingIntervalCount *int `json:"slidingIntervalCount,omitempty" yaml:"slidingIntervalCount"`

	// +optional
	SlidingIntervalDurationMs *int64 `json:"slidingIntervalDurationMs,omitempty" yaml:"slidingIntervalDurationMs"`

	// +optional
	LateDataTopic *string `json:"lateDataTopic,omitempty" yaml:"lateDataTopic"`

	// +optional
	MaxLagMs *int64 `json:"maxLagMs,omitempty" yaml:"maxLagMs"`

	// +optional
	WatermarkEmitIntervalMs *int64 `json:"watermarkEmitIntervalMs,omitempty" yaml:"watermarkEmitIntervalMs"`

	// +optional
	TimestampExtractorClassName *string `json:"timestampExtractorClassName,omitempty" yaml:"timestampExtractorClassName"`

	// +optional
	ActualWindowFunctionClassName *string `json:"actualWindowFunctionClassName,omitempty" yaml:"actualWindowFunctionClassName"`

	// +optional
	ProcessingGuarantees *string `json:"processingGuarantees,omitempty" yaml:"processingGuarantees"`
}

WindowConfig defines the window config of the function

func (*WindowConfig) DeepCopy added in v0.5.0

func (in *WindowConfig) DeepCopy() *WindowConfig

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

func (*WindowConfig) DeepCopyInto added in v0.5.0

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

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

Jump to

Keyboard shortcuts

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