Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the resource v1alpha1 API group +kubebuilder:object:generate=true +groupName=resource.streamnative.io
Index ¶
- Constants
- Variables
- func IsPulsarResourceReady(instance reconciler.Object) bool
- type Artifact
- type AuthConfig
- type AutoFailoverPolicyType
- type BatchSourceConfig
- type BookieAffinityGroupData
- type ClusterInfo
- type CommunityDeploymentMetadata
- type CommunityDeploymentSpec
- type CommunityDeploymentTemplate
- type ComputeFlinkDeployment
- type ComputeFlinkDeploymentList
- type ComputeFlinkDeploymentSpec
- type ComputeFlinkDeploymentStatus
- type ComputeWorkspace
- type ComputeWorkspaceList
- type ComputeWorkspaceSpec
- type ComputeWorkspaceStatus
- type Configuration
- type ConsumerConfig
- type Container
- type CryptoConfig
- type EnvVar
- type FlinkBlobStorage
- type FunctionSecretKeyRef
- type KubernetesSecretReference
- type KubernetesSpec
- type LogConfig
- type Logging
- type ObjectMeta
- type PackageContentRef
- type PodTemplate
- type PodTemplateSpec
- type PoolMemberReference
- type PoolRef
- type ProducerConfig
- type PulsarAuthentication
- type PulsarAuthenticationOAuth2
- type PulsarConnection
- type PulsarConnectionList
- type PulsarConnectionSpec
- type PulsarConnectionStatus
- type PulsarFunction
- type PulsarFunctionList
- type PulsarFunctionSpec
- type PulsarFunctionStatus
- type PulsarGeoReplication
- type PulsarGeoReplicationList
- type PulsarGeoReplicationSpec
- type PulsarGeoReplicationStatus
- type PulsarNSIsolationPolicy
- type PulsarNSIsolationPolicyList
- type PulsarNSIsolationPolicySpec
- type PulsarNSIsolationPolicyStatus
- type PulsarNamespace
- type PulsarNamespaceList
- type PulsarNamespaceSpec
- type PulsarNamespaceStatus
- type PulsarPackage
- type PulsarPackageList
- type PulsarPackageSpec
- type PulsarPackageStatus
- type PulsarPackageSyncPolicy
- type PulsarPermission
- type PulsarPermissionList
- type PulsarPermissionSpec
- type PulsarPermissionStatus
- type PulsarResourceLifeCyclePolicy
- type PulsarResourceType
- type PulsarSink
- type PulsarSinkList
- type PulsarSinkSpec
- type PulsarSinkStatus
- type PulsarSource
- type PulsarSourceList
- type PulsarSourceSpec
- type PulsarSourceStatus
- type PulsarTenant
- type PulsarTenantList
- type PulsarTenantSpec
- type PulsarTenantStatus
- type PulsarTopic
- type PulsarTopicList
- type PulsarTopicSpec
- type PulsarTopicStatus
- type ResourceSpec
- type Resources
- type SchemaInfo
- type Secret
- type SecretKeyRef
- type SecretList
- type SecretReference
- type SecretSpec
- type SecretStatus
- type ServiceAccountCredentials
- type StreamNativeCloudConnection
- type StreamNativeCloudConnectionList
- type StreamNativeCloudConnectionSpec
- type StreamNativeCloudConnectionStatus
- type TaintEffect
- type Toleration
- type TolerationOperator
- type UserMetadata
- type ValueOrSecretRef
- type Volume
- type VolumeSource
- type VvpDeploymentDetails
- type VvpDeploymentDetailsTemplate
- type VvpDeploymentDetailsTemplateMetadata
- type VvpDeploymentDetailsTemplateSpec
- type VvpDeploymentDetailsTemplateSpecKubernetesSpec
- type VvpDeploymentKubernetesResources
- type VvpDeploymentStatus
- type VvpDeploymentTemplate
- type VvpDeploymentTemplateSpec
- type VvpRestoreStrategy
- type WindowConfig
Constants ¶
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 ¶
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"`
// +optional
ArtifactImage string `json:"artifactImage,omitempty"`
}
Artifact is the artifact configs to deploy.
func (*Artifact) DeepCopy ¶ added in v0.8.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Artifact.
func (*Artifact) DeepCopyInto ¶ added in v0.8.0
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
func (in *BookieAffinityGroupData) DeepCopy() *BookieAffinityGroupData
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
func (in *CommunityDeploymentMetadata) DeepCopy() *CommunityDeploymentMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityDeploymentMetadata.
func (*CommunityDeploymentMetadata) DeepCopyInto ¶ added in v0.8.0
func (in *CommunityDeploymentMetadata) DeepCopyInto(out *CommunityDeploymentMetadata)
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
func (in *CommunityDeploymentSpec) DeepCopy() *CommunityDeploymentSpec
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
func (in *CommunityDeploymentTemplate) DeepCopy() *CommunityDeploymentTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommunityDeploymentTemplate.
func (*CommunityDeploymentTemplate) DeepCopyInto ¶ added in v0.8.0
func (in *CommunityDeploymentTemplate) DeepCopyInto(out *CommunityDeploymentTemplate)
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
func (in *ComputeFlinkDeployment) DeepCopy() *ComputeFlinkDeployment
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
func (in *ComputeFlinkDeploymentList) DeepCopy() *ComputeFlinkDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFlinkDeploymentList.
func (*ComputeFlinkDeploymentList) DeepCopyInto ¶ added in v0.8.0
func (in *ComputeFlinkDeploymentList) DeepCopyInto(out *ComputeFlinkDeploymentList)
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"`
// Configuration is the list of configurations to deploy with the Flink deployment.
// +optional
Configuration *Configuration `json:"configuration,omitempty"`
// ImagePullSecrets is the list of image pull secrets to use for the deployment.
// +optional
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
}
ComputeFlinkDeploymentSpec defines the desired state of ComputeFlinkDeployment
func (*ComputeFlinkDeploymentSpec) DeepCopy ¶ added in v0.8.0
func (in *ComputeFlinkDeploymentSpec) DeepCopy() *ComputeFlinkDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFlinkDeploymentSpec.
func (*ComputeFlinkDeploymentSpec) DeepCopyInto ¶ added in v0.8.0
func (in *ComputeFlinkDeploymentSpec) DeepCopyInto(out *ComputeFlinkDeploymentSpec)
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
func (in *ComputeFlinkDeploymentStatus) DeepCopy() *ComputeFlinkDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeFlinkDeploymentStatus.
func (*ComputeFlinkDeploymentStatus) DeepCopyInto ¶ added in v0.8.0
func (in *ComputeFlinkDeploymentStatus) DeepCopyInto(out *ComputeFlinkDeploymentStatus)
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
func (in *ComputeWorkspaceList) DeepCopy() *ComputeWorkspaceList
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
func (in *ComputeWorkspaceSpec) DeepCopy() *ComputeWorkspaceSpec
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
func (in *ComputeWorkspaceStatus) DeepCopy() *ComputeWorkspaceStatus
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 Configuration ¶ added in v0.9.0
type Configuration struct {
// Envs is the list of environment variables to set in the Flink deployment.
// +optional
Envs []EnvVar `json:"envs,omitempty" protobuf:"bytes,1,opt,name=envs"`
// Secrets is the list of secrets referenced to deploy with the Flink deployment.
// +optional
Secrets []SecretReference `json:"secrets,omitempty" protobuf:"bytes,2,opt,name=secrets"`
}
Configuration defines the additional configuration for the Flink deployment
func (*Configuration) DeepCopy ¶ added in v0.9.0
func (in *Configuration) DeepCopy() *Configuration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Configuration.
func (*Configuration) DeepCopyInto ¶ added in v0.9.0
func (in *Configuration) DeepCopyInto(out *Configuration)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Container.
func (*Container) DeepCopyInto ¶ added in v0.8.0
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 EnvVar ¶ added in v0.9.0
type EnvVar struct {
// Name of the environment variable.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// Value of the environment variable.
Value string `json:"value" protobuf:"bytes,2,opt,name=value"`
}
EnvVar defines an environment variable.
func (*EnvVar) DeepCopy ¶ added in v0.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvVar.
func (*EnvVar) DeepCopyInto ¶ added in v0.9.0
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
FunctionSecretKeyRef indicates a secret name and key
func (*FunctionSecretKeyRef) DeepCopy ¶ added in v0.5.4
func (in *FunctionSecretKeyRef) DeepCopy() *FunctionSecretKeyRef
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 KubernetesSecretReference ¶ added in v0.9.0
type KubernetesSecretReference struct {
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}
KubernetesSecretReference is a reference to a Kubernetes Secret with a given name.
func (*KubernetesSecretReference) DeepCopy ¶ added in v0.9.0
func (in *KubernetesSecretReference) DeepCopy() *KubernetesSecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSecretReference.
func (*KubernetesSecretReference) DeepCopyInto ¶ added in v0.9.0
func (in *KubernetesSecretReference) DeepCopyInto(out *KubernetesSecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubernetesSecretReference) ToNamespacedName ¶ added in v0.9.0
func (r KubernetesSecretReference) ToNamespacedName() types.NamespacedName
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LogConfig.
func (*LogConfig) DeepCopyInto ¶ added in v0.8.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Logging.
func (*Logging) DeepCopyInto ¶ added in v0.8.0
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 PoolMemberReference ¶ added in v0.9.0
type PoolMemberReference struct {
Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"`
Name string `json:"name" protobuf:"bytes,2,opt,name=name"`
}
PoolMemberReference is a reference to a pool member with a given name.
func (*PoolMemberReference) DeepCopy ¶ added in v0.9.0
func (in *PoolMemberReference) DeepCopy() *PoolMemberReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolMemberReference.
func (*PoolMemberReference) DeepCopyInto ¶ added in v0.9.0
func (in *PoolMemberReference) DeepCopyInto(out *PoolMemberReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PoolMemberReference) ToNamespacedName ¶ added in v0.9.0
func (r PoolMemberReference) ToNamespacedName() types.NamespacedName
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolRef.
func (*PoolRef) DeepCopyInto ¶ added in v0.8.0
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 ¶
func (in *PulsarAuthentication) DeepCopy() *PulsarAuthentication
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 ¶
func (in *PulsarAuthenticationOAuth2) DeepCopy() *PulsarAuthenticationOAuth2
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarAuthenticationOAuth2.
func (*PulsarAuthenticationOAuth2) DeepCopyInto ¶
func (in *PulsarAuthenticationOAuth2) DeepCopyInto(out *PulsarAuthenticationOAuth2)
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 ¶
func (in *PulsarConnectionList) DeepCopy() *PulsarConnectionList
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 ¶
func (in *PulsarConnectionSpec) DeepCopy() *PulsarConnectionSpec
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 ¶
func (in *PulsarConnectionStatus) DeepCopy() *PulsarConnectionStatus
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
func (in *PulsarFunctionStatus) DeepCopy() *PulsarFunctionStatus
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
func (in *PulsarGeoReplication) DeepCopy() *PulsarGeoReplication
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
func (in *PulsarGeoReplicationList) DeepCopy() *PulsarGeoReplicationList
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
func (in *PulsarGeoReplicationSpec) DeepCopy() *PulsarGeoReplicationSpec
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
func (in *PulsarGeoReplicationStatus) DeepCopy() *PulsarGeoReplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarGeoReplicationStatus.
func (*PulsarGeoReplicationStatus) DeepCopyInto ¶ added in v0.3.0
func (in *PulsarGeoReplicationStatus) DeepCopyInto(out *PulsarGeoReplicationStatus)
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
func (in *PulsarNSIsolationPolicy) DeepCopy() *PulsarNSIsolationPolicy
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
func (in *PulsarNSIsolationPolicyList) DeepCopy() *PulsarNSIsolationPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarNSIsolationPolicyList.
func (*PulsarNSIsolationPolicyList) DeepCopyInto ¶ added in v0.6.3
func (in *PulsarNSIsolationPolicyList) DeepCopyInto(out *PulsarNSIsolationPolicyList)
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
func (in *PulsarNSIsolationPolicySpec) DeepCopy() *PulsarNSIsolationPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarNSIsolationPolicySpec.
func (*PulsarNSIsolationPolicySpec) DeepCopyInto ¶ added in v0.6.3
func (in *PulsarNSIsolationPolicySpec) DeepCopyInto(out *PulsarNSIsolationPolicySpec)
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
func (in *PulsarNSIsolationPolicyStatus) DeepCopy() *PulsarNSIsolationPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PulsarNSIsolationPolicyStatus.
func (*PulsarNSIsolationPolicyStatus) DeepCopyInto ¶ added in v0.6.3
func (in *PulsarNSIsolationPolicyStatus) DeepCopyInto(out *PulsarNSIsolationPolicyStatus)
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 ¶
func (in *PulsarNamespaceStatus) DeepCopy() *PulsarNamespaceStatus
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
// Support cloud storage providers: AWS S3 (s3://), Google Cloud Storage (gs://), Azure Blob Storage (azblob://)
// +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"`
// SyncPolicy represents the sync policy of the package, including Always, IfNotPresent, Never
// Defaults to Always if @latest tag is used in the package URL, or IfNotPresent otherwise
// +kubebuilder:validation:Enum=Always;IfNotPresent;Never
// +optional
SyncPolicy PulsarPackageSyncPolicy `json:"syncPolicy,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 PulsarPackageSyncPolicy ¶ added in v0.9.1
type PulsarPackageSyncPolicy string
PulsarPackageSyncPolicy represents the sync policy of the package, including Always, IfNotPresent, Never +enum
const ( // PulsarPackageSyncAlways means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. PulsarPackageSyncAlways PulsarPackageSyncPolicy = "Always" // PulsarPackageSyncNever means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present PulsarPackageSyncNever PulsarPackageSyncPolicy = "Never" // PulsarPackageSyncIfNotPresent means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. PulsarPackageSyncIfNotPresent PulsarPackageSyncPolicy = "IfNotPresent" )
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 ¶
func (in *PulsarPermissionList) DeepCopy() *PulsarPermissionList
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 ¶
func (in *PulsarPermissionSpec) DeepCopy() *PulsarPermissionSpec
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 ¶
func (in *PulsarPermissionStatus) DeepCopy() *PulsarPermissionStatus
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Resources.
func (*Resources) DeepCopyInto ¶ added in v0.5.0
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 Secret ¶ added in v0.9.0
type Secret struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SecretSpec `json:"spec,omitempty"`
Status SecretStatus `json:"status,omitempty"`
}
Secret is the Schema for the StreamNative Cloud Secret API
func (*Secret) DeepCopy ¶ added in v0.9.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Secret.
func (*Secret) DeepCopyInto ¶ added in v0.9.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Secret) DeepCopyObject ¶ added in v0.9.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecretKeyRef ¶
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 SecretList ¶ added in v0.9.0
type SecretList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Secret `json:"items"`
}
SecretList contains a list of Secret
func (*SecretList) DeepCopy ¶ added in v0.9.0
func (in *SecretList) DeepCopy() *SecretList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretList.
func (*SecretList) DeepCopyInto ¶ added in v0.9.0
func (in *SecretList) DeepCopyInto(out *SecretList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecretList) DeepCopyObject ¶ added in v0.9.0
func (in *SecretList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SecretReference ¶ added in v0.9.0
type SecretReference struct {
// Name of the ENV variable.
Name string `json:"name" protobuf:"bytes,1,opt,name=name"`
// ValueFrom references a secret in the same namespace.
ValueFrom *corev1.SecretKeySelector `json:"valueFrom,omitempty" protobuf:"bytes,2,opt,name=valueFrom"`
}
SecretReference references a StreamNative Cloud secret.
func (*SecretReference) DeepCopy ¶ added in v0.9.0
func (in *SecretReference) DeepCopy() *SecretReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretReference.
func (*SecretReference) DeepCopyInto ¶ added in v0.9.0
func (in *SecretReference) DeepCopyInto(out *SecretReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretSpec ¶ added in v0.9.0
type SecretSpec struct {
// APIServerRef is the reference to the StreamNativeCloudConnection
// +required
APIServerRef corev1.LocalObjectReference `json:"apiServerRef"`
// InstanceName is the name of the instance this secret is for (e.g. pulsar-instance)
// +optional
InstanceName string `json:"instanceName"`
// Location is the location of the secret.
// +optional
Location string `json:"location"`
// the value should be base64 encoded
// +optional
Data map[string]string `json:"data,omitempty"`
// SecretRef is the reference to the kubernetes secret
// When SecretRef is set, it will be used to fetch the secret data.
// Data will be ignored.
// +optional
SecretRef *KubernetesSecretReference `json:"secretRef,omitempty"`
// PoolMemberName is the pool member to deploy the secret.
// +optional
PoolMemberName *string `json:"poolMemberName,omitempty"`
// Toleration is the toleration for the secret.
// +optional
// +listType=atomic
Tolerations []Toleration `json:"tolerations,omitempty"`
// Type Used to facilitate programmatic handling of secret data.
// +optional
Type *corev1.SecretType `json:"type,omitempty"`
}
SecretSpec defines the desired state of StreamNative Cloud Secret
func (*SecretSpec) DeepCopy ¶ added in v0.9.0
func (in *SecretSpec) DeepCopy() *SecretSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretSpec.
func (*SecretSpec) DeepCopyInto ¶ added in v0.9.0
func (in *SecretSpec) DeepCopyInto(out *SecretSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStatus ¶ added in v0.9.0
type SecretStatus 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"`
}
SecretStatus defines the observed state of StreamNative Cloud Secret
func (*SecretStatus) DeepCopy ¶ added in v0.9.0
func (in *SecretStatus) DeepCopy() *SecretStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStatus.
func (*SecretStatus) DeepCopyInto ¶ added in v0.9.0
func (in *SecretStatus) DeepCopyInto(out *SecretStatus)
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
func (in *ServiceAccountCredentials) DeepCopy() *ServiceAccountCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceAccountCredentials.
func (*ServiceAccountCredentials) DeepCopyInto ¶ added in v0.8.0
func (in *ServiceAccountCredentials) DeepCopyInto(out *ServiceAccountCredentials)
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
func (in *StreamNativeCloudConnection) DeepCopy() *StreamNativeCloudConnection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamNativeCloudConnection.
func (*StreamNativeCloudConnection) DeepCopyInto ¶ added in v0.8.0
func (in *StreamNativeCloudConnection) DeepCopyInto(out *StreamNativeCloudConnection)
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
func (in *StreamNativeCloudConnectionList) DeepCopy() *StreamNativeCloudConnectionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamNativeCloudConnectionList.
func (*StreamNativeCloudConnectionList) DeepCopyInto ¶ added in v0.8.0
func (in *StreamNativeCloudConnectionList) DeepCopyInto(out *StreamNativeCloudConnectionList)
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
func (in *StreamNativeCloudConnectionSpec) DeepCopy() *StreamNativeCloudConnectionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamNativeCloudConnectionSpec.
func (*StreamNativeCloudConnectionSpec) DeepCopyInto ¶ added in v0.8.0
func (in *StreamNativeCloudConnectionSpec) DeepCopyInto(out *StreamNativeCloudConnectionSpec)
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
func (in *StreamNativeCloudConnectionStatus) DeepCopy() *StreamNativeCloudConnectionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StreamNativeCloudConnectionStatus.
func (*StreamNativeCloudConnectionStatus) DeepCopyInto ¶ added in v0.8.0
func (in *StreamNativeCloudConnectionStatus) DeepCopyInto(out *StreamNativeCloudConnectionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TaintEffect ¶ added in v0.9.1
type TaintEffect string
const ( // TaintEffectNoSchedule has the effect of not scheduling new workloads onto the workload cluster // unless they tolerate the taint. // Enforced by the scheduler. TaintEffectNoSchedule TaintEffect = "NoSchedule" // TaintEffectPreferNoSchedule is Like TaintEffectNoSchedule, but the scheduler tries not to schedule // new workloads onto the workload cluster, rather than prohibiting it entirely. // Enforced by the scheduler. TaintEffectPreferNoSchedule TaintEffect = "PreferNoSchedule" // TaintEffectNoCleanup has the effect of skipping any cleanup of workload objects. // Set this effect to allow for API object finalization, which normally requires // the workload cluster to be ready, to proceed without normal cleanups. TaintEffectNoCleanup TaintEffect = "NoCleanup" // TaintEffectNoConnect has the effect of skipping any attempts to connect to the workload cluster. TaintEffectNoConnect TaintEffect = "NoConnect" )
type Toleration ¶ added in v0.9.0
type Toleration struct {
// Key is the taint key that the toleration applies to. Empty means match all taint keys.
// If the key is empty, operator must be Exists; this combination means to match all values and all keys.
// +optional
Key string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"`
// Operator represents a key's relationship to the value.
// Valid operators are Exists and Equal. Defaults to Equal.
// Exists is equivalent to wildcard for value, so that a workload can
// tolerate all taints of a particular category.
// +optional
Operator TolerationOperator `json:"operator,omitempty" protobuf:"bytes,2,opt,name=operator,casttype=TolerationOperator"`
// Value is the taint value the toleration matches to.
// If the operator is Exists, the value should be empty, otherwise just a regular string.
// +optional
Value string `json:"value,omitempty" protobuf:"bytes,3,opt,name=value"`
// Effect indicates the taint effect to match. Empty means match all taint effects.
// When specified, allowed values are NoSchedule and PreferNoSchedule.
// +optional
Effect TaintEffect `json:"effect,omitempty" protobuf:"bytes,4,opt,name=effect,casttype=TaintEffect"`
}
Toleration The workload this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
func (*Toleration) DeepCopy ¶ added in v0.9.0
func (in *Toleration) DeepCopy() *Toleration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Toleration.
func (*Toleration) DeepCopyInto ¶ added in v0.9.0
func (in *Toleration) DeepCopyInto(out *Toleration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TolerationOperator ¶ added in v0.9.1
type TolerationOperator string
const ( TolerationOpExists TolerationOperator = "Exists" TolerationOpEqual TolerationOperator = "Equal" )
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶ added in v0.8.0
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
func (in *VvpDeploymentDetails) DeepCopy() *VvpDeploymentDetails
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
func (in *VvpDeploymentDetailsTemplate) DeepCopy() *VvpDeploymentDetailsTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VvpDeploymentDetailsTemplate.
func (*VvpDeploymentDetailsTemplate) DeepCopyInto ¶ added in v0.8.0
func (in *VvpDeploymentDetailsTemplate) DeepCopyInto(out *VvpDeploymentDetailsTemplate)
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
func (in *VvpDeploymentDetailsTemplateMetadata) DeepCopy() *VvpDeploymentDetailsTemplateMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VvpDeploymentDetailsTemplateMetadata.
func (*VvpDeploymentDetailsTemplateMetadata) DeepCopyInto ¶ added in v0.8.0
func (in *VvpDeploymentDetailsTemplateMetadata) DeepCopyInto(out *VvpDeploymentDetailsTemplateMetadata)
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
func (in *VvpDeploymentDetailsTemplateSpec) DeepCopy() *VvpDeploymentDetailsTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VvpDeploymentDetailsTemplateSpec.
func (*VvpDeploymentDetailsTemplateSpec) DeepCopyInto ¶ added in v0.8.0
func (in *VvpDeploymentDetailsTemplateSpec) DeepCopyInto(out *VvpDeploymentDetailsTemplateSpec)
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
func (in *VvpDeploymentDetailsTemplateSpecKubernetesSpec) DeepCopy() *VvpDeploymentDetailsTemplateSpecKubernetesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VvpDeploymentDetailsTemplateSpecKubernetesSpec.
func (*VvpDeploymentDetailsTemplateSpecKubernetesSpec) DeepCopyInto ¶ added in v0.8.0
func (in *VvpDeploymentDetailsTemplateSpecKubernetesSpec) DeepCopyInto(out *VvpDeploymentDetailsTemplateSpecKubernetesSpec)
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
func (in *VvpDeploymentKubernetesResources) DeepCopy() *VvpDeploymentKubernetesResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VvpDeploymentKubernetesResources.
func (*VvpDeploymentKubernetesResources) DeepCopyInto ¶ added in v0.8.0
func (in *VvpDeploymentKubernetesResources) DeepCopyInto(out *VvpDeploymentKubernetesResources)
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
func (in *VvpDeploymentTemplate) DeepCopy() *VvpDeploymentTemplate
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
func (in *VvpDeploymentTemplateSpec) DeepCopy() *VvpDeploymentTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VvpDeploymentTemplateSpec.
func (*VvpDeploymentTemplateSpec) DeepCopyInto ¶ added in v0.8.0
func (in *VvpDeploymentTemplateSpec) DeepCopyInto(out *VvpDeploymentTemplateSpec)
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.
Source Files
¶
- common.go
- computeflinkdeployment_types.go
- computeworkspace_types.go
- constants.go
- groupversion_info.go
- pulsarconnection_types.go
- pulsarfunction_types.go
- pulsargeoreplication_types.go
- pulsarnamespace_types.go
- pulsarnsisolationpolicy_types.go
- pulsarpackage_types.go
- pulsarpermission_types.go
- pulsarsink_types.go
- pulsarsource_types.go
- pulsartenant_types.go
- pulsartopic_types.go
- secret_types.go
- streamnativecloudconnection_types.go
- zz_generated.deepcopy.go