v1alpha1

package
v0.5.7 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

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

Index

Constants

View Source
const (
	// DefaultBookkeeperImageRepository is the default Docker repository for
	// the BookKeeper image
	DefaultBookkeeperImageRepository = "pravega/bookkeeper"

	// DefaultPravegaImagePullPolicy is the default image pull policy used
	// for the Pravega Docker image
	DefaultBookkeeperImagePullPolicy = v1.PullAlways

	// DefaultBookkeeperLedgerVolumeSize is the default volume size for the
	// Bookkeeper ledger volume
	DefaultBookkeeperLedgerVolumeSize = "10Gi"

	// DefaultBookkeeperJournalVolumeSize is the default volume size for the
	// Bookkeeper journal volume
	DefaultBookkeeperJournalVolumeSize = "10Gi"

	// DefaultBookkeeperIndexVolumeSize is the default volume size for the
	// Bookkeeper index volume
	DefaultBookkeeperIndexVolumeSize = "10Gi"

	// MinimumBookkeeperReplicas is the minimum number of Bookkeeper replicas
	// accepted
	MinimumBookkeeperReplicas = 3

	// DefaultBookkeeperRequestCPU is the default CPU request for BookKeeper
	DefaultBookkeeperRequestCPU = "500m"

	// DefaultBookkeeperLimitCPU is the default CPU limit for BookKeeper
	DefaultBookkeeperLimitCPU = "1"

	// DefaultBookkeeperRequestMemory is the default memory request for BookKeeper
	DefaultBookkeeperRequestMemory = "1Gi"

	// DefaultBookkeeperLimitMemory is the limit memory limit for BookKeeper
	DefaultBookkeeperLimitMemory = "2Gi"
)
View Source
const (
	// DefaultPravegaImageRepository is the default Docker repository for
	// the Pravega image
	DefaultPravegaImageRepository = "pravega/pravega"

	// DefaultPravegaImagePullPolicy is the default image pull policy used
	// for the Pravega Docker image
	DefaultPravegaImagePullPolicy = v1.PullAlways

	// DefaultPravegaCacheVolumeSize is the default volume size for the
	// Pravega SegmentStore cache volume
	DefaultPravegaCacheVolumeSize = "20Gi"

	// DefaultPravegaTier2ClaimName is the default volume claim name used as Tier 2
	DefaultPravegaTier2ClaimName = "pravega-tier2"

	// DefaultControllerReplicas is the default number of replicas for the Pravega
	// Controller component
	DefaultControllerReplicas = 1

	// DefaultSegmentStoreReplicas is the default number of replicas for the Pravega
	// Segment Store component
	DefaultSegmentStoreReplicas = 1

	// DefaultControllerRequestCPU is the default CPU request for Pravega
	DefaultControllerRequestCPU = "250m"

	// DefaultControllerLimitCPU is the default CPU limit for Pravega
	DefaultControllerLimitCPU = "500m"

	// DefaultControllerRequestMemory is the default memory request for Pravega
	DefaultControllerRequestMemory = "512Mi"

	// DefaultControllerLimitMemory is the default memory limit for Pravega
	DefaultControllerLimitMemory = "1Gi"

	// DefaultSegmentStoreRequestCPU is the default CPU request for Pravega
	DefaultSegmentStoreRequestCPU = "500m"

	// DefaultSegmentStoreLimitCPU is the default CPU limit for Pravega
	DefaultSegmentStoreLimitCPU = "1"

	// DefaultSegmentStoreRequestMemory is the default memory request for Pravega
	DefaultSegmentStoreRequestMemory = "1Gi"

	// DefaultSegmentStoreLimitMemory is the default memory limit for Pravega
	DefaultSegmentStoreLimitMemory = "2Gi"
)
View Source
const (
	// DefaultZookeeperUri is the default ZooKeeper URI in the form of "hostname:port"
	DefaultZookeeperUri = "zookeeper-client:2181"

	// DefaultServiceType is the default service type for external access
	DefaultServiceType = v1.ServiceTypeLoadBalancer

	// DefaultPravegaVersion is the default tag used for for the Pravega
	// Docker image
	DefaultPravegaVersion = "0.4.0"
)
View Source
const (
	ClusterConditionPodsReady ClusterConditionType = "PodsReady"
	ClusterConditionUpgrading                      = "Upgrading"
	ClusterConditionRollback                       = "RollbackInProgress"
	ClusterConditionError                          = "Error"

	// Reasons for cluster upgrading condition
	UpdatingControllerReason   = "Updating Controller"
	UpdatingSegmentstoreReason = "Updating Segmentstore"
	UpdatingBookkeeperReason   = "Updating Bookkeeper"
	UpgradeErrorReason         = "Upgrade Error"
	RollbackErrorReason        = "Rollback Error"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "pravega.pravega.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AuthenticationParameters

type AuthenticationParameters struct {
	// Enabled specifies whether or not authentication is enabled
	// By default, authentication is not enabled
	// +optional
	Enabled bool `json:"enabled"`

	// name of Secret containing Password based Authentication Parameters like username, password and acl
	// optional - used only by PasswordAuthHandler for authentication
	PasswordAuthSecret string `json:"passwordAuthSecret,omitempty"`
}

func (*AuthenticationParameters) DeepCopy

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

func (*AuthenticationParameters) DeepCopyInto

func (in *AuthenticationParameters) DeepCopyInto(out *AuthenticationParameters)

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

func (*AuthenticationParameters) IsEnabled

func (ap *AuthenticationParameters) IsEnabled() bool

type BookkeeperImageSpec

type BookkeeperImageSpec struct {
	ImageSpec `json:"imageSpec,omitempty"`
}

BookkeeperImageSpec defines the fields needed for a BookKeeper Docker image

func (*BookkeeperImageSpec) DeepCopy

func (in *BookkeeperImageSpec) DeepCopy() *BookkeeperImageSpec

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

func (*BookkeeperImageSpec) DeepCopyInto

func (in *BookkeeperImageSpec) DeepCopyInto(out *BookkeeperImageSpec)

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

type BookkeeperJVMOptions

type BookkeeperJVMOptions struct {
	// +optional
	MemoryOpts []string `json:"memoryOpts"`
	// +optional
	GcOpts []string `json:"gcOpts"`
	// +optional
	GcLoggingOpts []string `json:"gcLoggingOpts"`
	// +optional
	ExtraOpts []string `json:"extraOpts"`
}

func (*BookkeeperJVMOptions) DeepCopy

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

func (*BookkeeperJVMOptions) DeepCopyInto

func (in *BookkeeperJVMOptions) DeepCopyInto(out *BookkeeperJVMOptions)

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

type BookkeeperSpec

type BookkeeperSpec struct {
	// Image defines the BookKeeper Docker image to use.
	// By default, "pravega/bookkeeper" will be used.
	// +optional
	Image *BookkeeperImageSpec `json:"image"`

	// Replicas defines the number of BookKeeper replicas.
	// Minimum is 3. Defaults to 3.
	// +optional
	Replicas int32 `json:"replicas"`

	// Storage configures the storage for BookKeeper
	// +optional
	Storage *BookkeeperStorageSpec `json:"storage"`

	// AutoRecovery indicates whether or not BookKeeper auto recovery is enabled.
	// Defaults to true.
	// +optional
	AutoRecovery *bool `json:"autoRecovery"`

	// ServiceAccountName configures the service account used on BookKeeper instances
	ServiceAccountName string `json:"serviceAccountName,omitempty"`

	// BookieResources specifies the request and limit of resources that bookie can have.
	// BookieResources includes CPU and memory resources
	Resources *v1.ResourceRequirements `json:"resources,omitempty"`

	// Options is the Bookkeeper configuration that is to override the bk_server.conf
	// in bookkeeper. Some examples can be found here
	// https://github.com/apache/bookkeeper/blob/master/docker/README.md
	// +optional
	Options map[string]string `json:"options"`

	// JVM is the JVM options for bookkeeper. It will be passed to the JVM for performance tuning.
	// If this field is not specified, the operator will use a set of default
	// options that is good enough for general deployment.
	// +optional
	BookkeeperJVMOptions *BookkeeperJVMOptions `json:"bookkeeperJVMOptions"`
}

BookkeeperSpec defines the configuration of BookKeeper

func (*BookkeeperSpec) DeepCopy

func (in *BookkeeperSpec) DeepCopy() *BookkeeperSpec

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

func (*BookkeeperSpec) DeepCopyInto

func (in *BookkeeperSpec) DeepCopyInto(out *BookkeeperSpec)

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

type BookkeeperStorageSpec

type BookkeeperStorageSpec struct {
	// LedgerVolumeClaimTemplate is the spec to describe PVC for the BookKeeper ledger
	// This field is optional. If no PVC spec and there is no default storage class,
	// stateful containers will use emptyDir as volume
	// +optional
	LedgerVolumeClaimTemplate *v1.PersistentVolumeClaimSpec `json:"ledgerVolumeClaimTemplate"`

	// JournalVolumeClaimTemplate is the spec to describe PVC for the BookKeeper journal
	// This field is optional. If no PVC spec and there is no default storage class,
	// stateful containers will use emptyDir as volume
	// +optional
	JournalVolumeClaimTemplate *v1.PersistentVolumeClaimSpec `json:"journalVolumeClaimTemplate"`

	// IndexVolumeClaimTemplate is the spec to describe PVC for the BookKeeper index
	// This field is optional. If no PVC spec and there is no default storage class,
	// stateful containers will use emptyDir as volume
	// +optional
	IndexVolumeClaimTemplate *v1.PersistentVolumeClaimSpec `json:"indexVolumeClaimTemplate"`
}

BookkeeperStorageSpec is the configuration of the volumes used in BookKeeper

func (*BookkeeperStorageSpec) DeepCopy

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

func (*BookkeeperStorageSpec) DeepCopyInto

func (in *BookkeeperStorageSpec) DeepCopyInto(out *BookkeeperStorageSpec)

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

type ClusterCondition

type ClusterCondition struct {
	// Type of Pravega cluster condition.
	// +optional
	Type ClusterConditionType `json:"type"`

	// Status of the condition, one of True, False, Unknown.
	// +optional
	Status corev1.ConditionStatus `json:"status"`

	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`

	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty"`

	// The last time this condition was updated.
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`

	// Last time the condition transitioned from one status to another.
	LastTransitionTime string `json:"lastTransitionTime,omitempty"`
}

ClusterCondition shows the current condition of a Pravega cluster. Comply with k8s API conventions

func (*ClusterCondition) DeepCopy

func (in *ClusterCondition) DeepCopy() *ClusterCondition

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

func (*ClusterCondition) DeepCopyInto

func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)

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

type ClusterConditionType

type ClusterConditionType string

type ClusterSpec

type ClusterSpec struct {
	// ZookeeperUri specifies the hostname/IP address and port in the format
	// "hostname:port".
	// By default, the value "zookeeper-client:2181" is used, that corresponds to the
	// default Zookeeper service created by the Pravega Zookkeeper operator
	// available at: https://github.com/pravega/zookeeper-operator
	// +optional
	ZookeeperUri string `json:"zookeeperUri"`

	// ExternalAccess specifies whether or not to allow external access
	// to clients and the service type to use to achieve it
	// By default, external access is not enabled
	// +optional
	ExternalAccess *ExternalAccess `json:"externalAccess"`

	// TLS is the Pravega security configuration that is passed to the Pravega processes.
	// See the following file for a complete list of options:
	// https://github.com/pravega/pravega/blob/master/documentation/src/docs/security/pravega-security-configurations.md
	TLS *TLSPolicy `json:"tls,omitempty"`

	// Authentication can be enabled for authorizing all communication from clients to controller and segment store
	// See the following file for a complete list of options:
	// https://github.com/pravega/pravega/blob/master/documentation/src/docs/security/pravega-security-configurations.md
	Authentication *AuthenticationParameters `json:"authentication,omitempty"`

	// Version is the expected version of the Pravega cluster.
	// The pravega-operator will eventually make the Pravega cluster version
	// equal to the expected version.
	//
	// The version must follow the [semver]( http://semver.org) format, for example "3.2.13".
	// Only Pravega released versions are supported: https://github.com/pravega/pravega/releases
	//
	// If version is not set, default is "0.4.0".
	// +optional
	Version string `json:"version"`

	// Bookkeeper configuration
	// +optional
	Bookkeeper *BookkeeperSpec `json:"bookkeeper"`

	// Pravega configuration
	// +optional
	Pravega *PravegaSpec `json:"pravega"`
}

ClusterSpec defines the desired state of PravegaCluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

type ClusterStatus struct {
	// Conditions list all the applied conditions
	Conditions []ClusterCondition `json:"conditions,omitempty"`

	// CurrentVersion is the current cluster version
	CurrentVersion string `json:"currentVersion,omitempty"`

	// TargetVersion is the version the cluster upgrading to.
	// If the cluster is not upgrading, TargetVersion is empty.
	TargetVersion string `json:"targetVersion,omitempty"`

	VersionHistory []string `json:"versionHistory,omitempty"`

	// Replicas is the number of desired replicas in the cluster
	// +optional
	Replicas int32 `json:"replicas"`

	// CurrentReplicas is the number of current replicas in the cluster
	// +optional
	CurrentReplicas int32 `json:"currentReplicas"`

	// ReadyReplicas is the number of ready replicas in the cluster
	// +optional
	ReadyReplicas int32 `json:"readyReplicas"`

	// Members is the Pravega members in the cluster
	// +optional
	Members MembersStatus `json:"members"`
}

ClusterStatus defines the observed state of PravegaCluster

func (*ClusterStatus) AddToVersionHistory

func (ps *ClusterStatus) AddToVersionHistory(version string)

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

func (*ClusterStatus) GetClusterCondition

func (ps *ClusterStatus) GetClusterCondition(t ClusterConditionType) (int, *ClusterCondition)

func (*ClusterStatus) GetLastCondition

func (ps *ClusterStatus) GetLastCondition() (lastCondition *ClusterCondition)

func (*ClusterStatus) GetLastVersion

func (ps *ClusterStatus) GetLastVersion() (previousVersion string)

func (*ClusterStatus) Init

func (ps *ClusterStatus) Init()

func (*ClusterStatus) IsClusterInErrorState

func (ps *ClusterStatus) IsClusterInErrorState() bool

func (*ClusterStatus) IsClusterInReadyState

func (ps *ClusterStatus) IsClusterInReadyState() bool

func (*ClusterStatus) IsClusterInRollbackFailedState

func (ps *ClusterStatus) IsClusterInRollbackFailedState() bool

func (*ClusterStatus) IsClusterInRollbackState

func (ps *ClusterStatus) IsClusterInRollbackState() bool

func (*ClusterStatus) IsClusterInUpgradeFailedOrRollbackState

func (ps *ClusterStatus) IsClusterInUpgradeFailedOrRollbackState() bool

func (*ClusterStatus) IsClusterInUpgradeFailedState

func (ps *ClusterStatus) IsClusterInUpgradeFailedState() bool

func (*ClusterStatus) IsClusterInUpgradingState

func (ps *ClusterStatus) IsClusterInUpgradingState() bool

func (*ClusterStatus) SetErrorConditionFalse

func (ps *ClusterStatus) SetErrorConditionFalse()

func (*ClusterStatus) SetErrorConditionTrue

func (ps *ClusterStatus) SetErrorConditionTrue(reason, message string)

func (*ClusterStatus) SetPodsReadyConditionFalse

func (ps *ClusterStatus) SetPodsReadyConditionFalse()

func (*ClusterStatus) SetPodsReadyConditionTrue

func (ps *ClusterStatus) SetPodsReadyConditionTrue()

func (*ClusterStatus) SetRollbackConditionFalse

func (ps *ClusterStatus) SetRollbackConditionFalse()

func (*ClusterStatus) SetRollbackConditionTrue

func (ps *ClusterStatus) SetRollbackConditionTrue(reason, message string)

func (*ClusterStatus) SetUpgradingConditionFalse

func (ps *ClusterStatus) SetUpgradingConditionFalse()

func (*ClusterStatus) SetUpgradingConditionTrue

func (ps *ClusterStatus) SetUpgradingConditionTrue(reason, message string)

func (*ClusterStatus) UpdateProgress

func (ps *ClusterStatus) UpdateProgress(reason, updatedReplicas string)

type ECSSpec

type ECSSpec struct {
	// +optional
	ConfigUri string `json:"configUri"`
	// +optional
	Bucket string `json:"bucket"`
	// +optional
	Prefix string `json:"prefix"`
	// +optional
	Credentials string `json:"credentials"`
}

ECSSpec contains the connection details to a Dell EMC ECS system

func (*ECSSpec) DeepCopy

func (in *ECSSpec) DeepCopy() *ECSSpec

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

func (*ECSSpec) DeepCopyInto

func (in *ECSSpec) DeepCopyInto(out *ECSSpec)

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

type ExternalAccess

type ExternalAccess struct {
	// Enabled specifies whether or not external access is enabled
	// By default, external access is not enabled
	// +optional
	Enabled bool `json:"enabled"`

	// Type specifies the service type to achieve external access.
	// Options are "LoadBalancer" and "NodePort".
	// By default, if external access is enabled, it will use "LoadBalancer"
	Type v1.ServiceType `json:"type,omitempty"`

	// Domain Name to be used for External Access
	// This value is ignored if External Access is disabled
	DomainName string `json:"domainName,omitempty"`
}

ExternalAccess defines the configuration of the external access

func (*ExternalAccess) DeepCopy

func (in *ExternalAccess) DeepCopy() *ExternalAccess

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

func (*ExternalAccess) DeepCopyInto

func (in *ExternalAccess) DeepCopyInto(out *ExternalAccess)

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

type FileSystemSpec

type FileSystemSpec struct {
	// +optional
	PersistentVolumeClaim *v1.PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim"`
}

FileSystemSpec contains the reference to a PVC.

func (*FileSystemSpec) DeepCopy

func (in *FileSystemSpec) DeepCopy() *FileSystemSpec

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

func (*FileSystemSpec) DeepCopyInto

func (in *FileSystemSpec) DeepCopyInto(out *FileSystemSpec)

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

type HDFSSpec

type HDFSSpec struct {
	// +optional
	Uri string `json:"uri"`
	// +optional
	Root string `json:"root"`
	// +optional
	ReplicationFactor int32 `json:"replicationFactor"`
}

HDFSSpec contains the connection details to an HDFS system

func (*HDFSSpec) DeepCopy

func (in *HDFSSpec) DeepCopy() *HDFSSpec

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

func (*HDFSSpec) DeepCopyInto

func (in *HDFSSpec) DeepCopyInto(out *HDFSSpec)

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

type ImageSpec

type ImageSpec struct {
	// +optional
	Repository string `json:"repository"`

	// Deprecated: Use `spec.Version` instead
	Tag string `json:"tag,omitempty"`

	// +optional
	PullPolicy v1.PullPolicy `json:"pullPolicy"`
}

ImageSpec defines the fields needed for a Docker repository image

func (*ImageSpec) DeepCopy

func (in *ImageSpec) DeepCopy() *ImageSpec

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

func (*ImageSpec) DeepCopyInto

func (in *ImageSpec) DeepCopyInto(out *ImageSpec)

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

type MembersStatus

type MembersStatus struct {
	// +optional
	// +nullable
	Ready []string `json:"ready"`
	// +optional
	// +nullable
	Unready []string `json:"unready"`
}

MembersStatus is the status of the members of the cluster with both ready and unready node membership lists

func (*MembersStatus) DeepCopy

func (in *MembersStatus) DeepCopy() *MembersStatus

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

func (*MembersStatus) DeepCopyInto

func (in *MembersStatus) DeepCopyInto(out *MembersStatus)

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

type PravegaCluster

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

	Spec   ClusterSpec   `json:"spec,omitempty"`
	Status ClusterStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=pk +kubebuilder:printcolumn:name="Version",type=string,JSONPath=`.status.currentVersion`,description="The current pravega version" +kubebuilder:printcolumn:name="Desired Version",type=string,JSONPath=`.spec.version`,description="The desired pravega version" +kubebuilder:printcolumn:name="Desired Members",type=integer,JSONPath=`.status.replicas`,description="The number of desired pravega members" +kubebuilder:printcolumn:name="Ready Members",type=integer,JSONPath=`.status.readyReplicas`,description="The number of ready pravega members" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` PravegaCluster is the Schema for the pravegaclusters API

func (*PravegaCluster) DeepCopy

func (in *PravegaCluster) DeepCopy() *PravegaCluster

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

func (*PravegaCluster) DeepCopyInto

func (in *PravegaCluster) DeepCopyInto(out *PravegaCluster)

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

func (*PravegaCluster) DeepCopyObject

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

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

func (*PravegaCluster) Hub

func (*PravegaCluster) Hub()

func (*PravegaCluster) SetupWebhookWithManager

func (p *PravegaCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*PravegaCluster) WithDefaults

func (p *PravegaCluster) WithDefaults() (changed bool)

WithDefaults set default values when not defined in the spec.

type PravegaClusterList

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

PravegaClusterList contains a list of PravegaCluster

func (*PravegaClusterList) DeepCopy

func (in *PravegaClusterList) DeepCopy() *PravegaClusterList

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

func (*PravegaClusterList) DeepCopyInto

func (in *PravegaClusterList) DeepCopyInto(out *PravegaClusterList)

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

func (*PravegaClusterList) DeepCopyObject

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

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

type PravegaImageSpec

type PravegaImageSpec struct {
	ImageSpec `json:"imageSpec,omitempty"`
}

PravegaImageSpec defines the fields needed for a Pravega Docker image

func (*PravegaImageSpec) DeepCopy

func (in *PravegaImageSpec) DeepCopy() *PravegaImageSpec

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

func (*PravegaImageSpec) DeepCopyInto

func (in *PravegaImageSpec) DeepCopyInto(out *PravegaImageSpec)

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

type PravegaSpec

type PravegaSpec struct {
	// ControllerReplicas defines the number of Controller replicas.
	// Defaults to 1.
	// +optional
	ControllerReplicas int32 `json:"controllerReplicas"`

	// SegmentStoreReplicas defines the number of Segment Store replicas.
	// Defaults to 1.
	// +optional
	SegmentStoreReplicas int32 `json:"segmentStoreReplicas"`

	// DebugLogging indicates whether or not debug level logging is enabled.
	// Defaults to false.
	// +optional
	DebugLogging bool `json:"debugLogging"`

	// Image defines the Pravega Docker image to use.
	// By default, "pravega/pravega" will be used.
	// +optional
	Image *PravegaImageSpec `json:"image"`

	// Options is the Pravega configuration that is passed to the Pravega processes
	// as JAVA_OPTS. See the following file for a complete list of options:
	// https://github.com/pravega/pravega/blob/master/config/config.properties
	// +optional
	Options map[string]string `json:"options"`

	// ControllerJvmOptions is the JVM options for controller. It will be passed to the JVM
	// for performance tuning. If this field is not specified, the operator will use a set of default
	// options that is good enough for general deployment.
	// +optional
	ControllerJvmOptions []string `json:"controllerjvmOptions"`

	// SegmentStoreJVMOptions is the JVM options for Segmentstore. It will be passed to the JVM
	// for performance tuning. If this field is not specified, the operator will use a set of default
	// options that is good enough for general deployment.
	// +optional
	SegmentStoreJVMOptions []string `json:"segmentStoreJVMOptions"`

	// CacheVolumeClaimTemplate is the spec to describe PVC for the Pravega cache.
	// This field is optional. If no PVC spec, stateful containers will use
	// emptyDir as volume
	// +optional
	CacheVolumeClaimTemplate *v1.PersistentVolumeClaimSpec `json:"cacheVolumeClaimTemplate"`

	// Tier2 is the configuration of Pravega's tier 2 storage. If no configuration
	// is provided, it will assume that a PersistentVolumeClaim called "pravega-tier2"
	// is present and it will use it as Tier 2
	// +optional
	Tier2 *Tier2Spec `json:"tier2"`

	// ControllerServiceAccountName configures the service account used on controller instances.
	// If not specified, Kubernetes will automatically assign the default service account in the namespace
	ControllerServiceAccountName string `json:"controllerServiceAccountName,omitempty"`

	// SegmentStoreServiceAccountName configures the service account used on segment store instances.
	// If not specified, Kubernetes will automatically assign the default service account in the namespace
	SegmentStoreServiceAccountName string `json:"segmentStoreServiceAccountName,omitempty"`

	// ControllerResources specifies the request and limit of resources that controller can have.
	// ControllerResources includes CPU and memory resources
	ControllerResources *v1.ResourceRequirements `json:"controllerResources,omitempty"`

	// SegmentStoreResources specifies the request and limit of resources that segmentStore can have.
	// SegmentStoreResources includes CPU and memory resources
	SegmentStoreResources *v1.ResourceRequirements `json:"segmentStoreResources,omitempty"`

	// Type specifies the service type to achieve external access.
	// Options are "LoadBalancer" and "NodePort".
	// By default, if external access is enabled, it will use "LoadBalancer"
	ControllerExternalServiceType v1.ServiceType `json:"controllerExtServiceType,omitempty"`

	// Annotations to be added to the external service
	// +optional
	ControllerServiceAnnotations map[string]string `json:"controllerSvcAnnotations"`

	// Type specifies the service type to achieve external access.
	// Options are "LoadBalancer" and "NodePort".
	// By default, if external access is enabled, it will use "LoadBalancer"
	SegmentStoreExternalServiceType v1.ServiceType `json:"segmentStoreExtServiceType,omitempty"`

	// Annotations to be added to the external service
	// +optional
	SegmentStoreServiceAnnotations map[string]string `json:"segmentStoreSvcAnnotations"`
}

PravegaSpec defines the configuration of Pravega

func (*PravegaSpec) DeepCopy

func (in *PravegaSpec) DeepCopy() *PravegaSpec

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

func (*PravegaSpec) DeepCopyInto

func (in *PravegaSpec) DeepCopyInto(out *PravegaSpec)

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

type StaticTLS

type StaticTLS struct {
	ControllerSecret   string `json:"controllerSecret,omitempty"`
	SegmentStoreSecret string `json:"segmentStoreSecret,omitempty"`
	CaBundle           string `json:"caBundle,omitempty"`
}

func (*StaticTLS) DeepCopy

func (in *StaticTLS) DeepCopy() *StaticTLS

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

func (*StaticTLS) DeepCopyInto

func (in *StaticTLS) DeepCopyInto(out *StaticTLS)

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

type TLSPolicy

type TLSPolicy struct {
	// Static TLS means keys/certs are generated by the user and passed to an operator.
	Static *StaticTLS `json:"static,omitempty"`
}

func (*TLSPolicy) DeepCopy

func (in *TLSPolicy) DeepCopy() *TLSPolicy

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

func (*TLSPolicy) DeepCopyInto

func (in *TLSPolicy) DeepCopyInto(out *TLSPolicy)

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

func (*TLSPolicy) IsCaBundlePresent

func (tp *TLSPolicy) IsCaBundlePresent() bool

func (*TLSPolicy) IsSecureController

func (tp *TLSPolicy) IsSecureController() bool

func (*TLSPolicy) IsSecureSegmentStore

func (tp *TLSPolicy) IsSecureSegmentStore() bool

type Tier2Spec

type Tier2Spec struct {
	// FileSystem is used to configure a pre-created Persistent Volume Claim
	// as Tier 2 backend.
	// It is default Tier 2 mode.
	FileSystem *FileSystemSpec `json:"filesystem,omitempty"`

	// Ecs is used to configure a Dell EMC ECS system as a Tier 2 backend
	Ecs *ECSSpec `json:"ecs,omitempty"`

	// Hdfs is used to configure an HDFS system as a Tier 2 backend
	Hdfs *HDFSSpec `json:"hdfs,omitempty"`
}

Tier2Spec configures the Tier 2 storage type to use with Pravega. If not specified, Tier 2 will be configured in filesystem mode and will try to use a PersistentVolumeClaim with the name "pravega-tier2"

func (*Tier2Spec) DeepCopy

func (in *Tier2Spec) DeepCopy() *Tier2Spec

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

func (*Tier2Spec) DeepCopyInto

func (in *Tier2Spec) DeepCopyInto(out *Tier2Spec)

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL