v1alpha1

package
v0.0.0-...-ebe3fe6 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the hdfs v1alpha1 API group +kubebuilder:object:generate=true +groupName=hdfs.kubedoop.dev

Index

Constants

View Source
const (
	CoreSiteFileName = "core-site.xml"
	HdfsSiteFileName = "hdfs-site.xml"
	// SslServerFileName see https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/EncryptedShuffle.html
	SslServerFileName = "ssl-server.xml"
	SslClientFileName = "ssl-client.xml"
	// SecurityFileName this is for java security, not for hadoop
	SecurityFileName = "security.properties"
	// HadoopPolicyFileName see: https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ServiceLevelAuth.html
	HadoopPolicyFileName = "hadoop-policy.xml"
	Log4jFileName        = "log4j.properties"
)

file name

View Source
const (
	ListenerVolumeName                    = "listener"
	TlsStoreVolumeName                    = "tls"
	KerberosVolumeName                    = "kerberos"
	KubedoopLogVolumeMountName            = "log"
	DataVolumeMountName                   = "data"
	HdfsConfigVolumeMountName             = "hdfs-config"
	HdfsLogVolumeMountName                = "hdfs-log-config"
	ZkfcConfigVolumeMountName             = "zkfc-config"
	ZkfcLogVolumeMountName                = "zkfc-log-config"
	FormatNamenodesConfigVolumeMountName  = "format-namenodes-config"
	FormatNamenodesLogVolumeMountName     = "format-namenodes-log-config"
	FormatZookeeperConfigVolumeMountName  = "format-zookeeper-config"
	FormatZookeeperLogVolumeMountName     = "format-zookeeper-log-config"
	WaitForNamenodesConfigVolumeMountName = "wait-for-namenodes-config"
	WaitForNamenodesLogVolumeMountName    = "wait-for-namenodes-log-config"

	JvmHeapFactor = 0.8
)

volume name

View Source
const (
	NameNodeRootDataDir    = constants.KubedoopDataDir + "/namenode"
	JournalNodeRootDataDir = constants.KubedoopDataDir + "/journalnode"

	DataNodeRootDataDirPrefix = constants.KubedoopDataDir + "/"
	DataNodeRootDataDirSuffix = "/datanode"

	HadoopHome = constants.KubedoopRoot + "/hadoop"
)

directory

View Source
const (
	MetricName = "metric"
	HttpName   = "http"
	HttpsName  = "https"
	RpcName    = "rpc"
	IpcName    = "ipc"
	DataName   = "data"

	NameNodeHttpPort      = 9870
	NameNodeHttpsPort     = 9871
	NameNodeRpcPort       = 8020
	NameNodeMetricPort    = 8183
	DataNodeMetricPort    = 8082
	DataNodeHttpPort      = 9864
	DataNodeHttpsPort     = 9865
	DataNodeDataPort      = 9866
	DataNodeIpcPort       = 9867
	JournalNodeMetricPort = 8081
	JournalNodeRpcPort    = 8485
	JournalNodeHttpPort   = 8480
	JournalNodeHttpsPort  = 8481
)

port names

View Source
const (
	DefaultRepository      = "quay.io/zncdatadev"
	DefaultProductVersion  = "3.3.6"
	DefaultProductName     = "hadoop"
	DefaultKubedoopVersion = "0.0.0-dev"
)

Variables

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

func TransformImage(imageSpec *ImageSpec) *util.Image

Types

type AuthenticationSpec

type AuthenticationSpec struct {
	// +kubebuilder:validation:Optional
	AuthenticationClass string `json:"authenticationClass,omitempty"`

	// +kubebuilder:validation:Optional
	Oidc *OidcSpec `json:"oidc,omitempty"`

	// +kubebuilder:validation:Optional
	Tls *TlsSpec `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	Kerberos *KerberosSpec `json:"kerberos,omitempty"`
}

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

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

type ClusterConfigSpec

type ClusterConfigSpec struct {
	// +kubebuilder:validation:Optional
	VectorAggregatorConfigMapName string `json:"vectorAggregatorConfigMapName,omitempty"`

	// +kubebuilder:validation:Optional
	Service *ServiceSpec `json:"service,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="cluster.local"
	ClusterName string `json:"clusterName,omitempty"`

	// +kubebuilder:validation:Optional
	Authentication *AuthenticationSpec `json:"authentication,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="cluster.local"
	ClusterDomain string `json:"clusterDomain,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=1
	DfsReplication int32 `json:"dfsReplication,omitempty"`

	// +kubebuilder:validation:required
	ZookeeperConfigMapName string `json:"zookeeperConfigMapName,omitempty"`
}

func (*ClusterConfigSpec) DeepCopy

func (in *ClusterConfigSpec) DeepCopy() *ClusterConfigSpec

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

func (*ClusterConfigSpec) DeepCopyInto

func (in *ClusterConfigSpec) DeepCopyInto(out *ClusterConfigSpec)

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

type ConfigOverridesSpec

type ConfigOverridesSpec struct {
	CoreSite map[string]string `json:"core-site.xml,omitempty"`
	HdfsSite map[string]string `json:"hdfs-site.xml,omitempty"`
	// only for nameNode
	Log4j        map[string]string `json:"log4j.properties,omitempty"`
	Security     map[string]string `json:"security.properties,omitempty"`
	HadoopPolicy map[string]string `json:"hadoop-policy.xml,omitempty"`
	SslServer    map[string]string `json:"ssl-server.xml,omitempty"`
	SslClient    map[string]string `json:"ssl-client.xml,omitempty"`
}

func (*ConfigOverridesSpec) DeepCopy

func (in *ConfigOverridesSpec) DeepCopy() *ConfigOverridesSpec

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

func (*ConfigOverridesSpec) DeepCopyInto

func (in *ConfigOverridesSpec) DeepCopyInto(out *ConfigOverridesSpec)

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

type DataNodeConfigSpec

type DataNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	Resources *commonsv1alpha1.ResourcesSpec `json:"resources,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="external-unstable"
	ListenerClass string `json:"listenerClass,omitempty"`

	// +kubebuilder:validation:Optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext"`

	// +kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity"`

	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations"`

	// +kubebuilder:validation:Optional
	PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// +kubebuilder:validation:Optional
	StorageClass string `json:"storageClass,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="8Gi"
	StorageSize string `json:"storageSize,omitempty"`

	// +kubebuilder:validation:Optional
	ExtraEnv map[string]string `json:"extraEnv,omitempty"`

	// +kubebuilder:validation:Optional
	ExtraSecret map[string]string `json:"extraSecret,omitempty"`

	// +kubebuilder:validation:Optional
	Logging *DataNodeContainerLoggingSpec `json:"logging,omitempty"`
}

func (*DataNodeConfigSpec) DeepCopy

func (in *DataNodeConfigSpec) DeepCopy() *DataNodeConfigSpec

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

func (*DataNodeConfigSpec) DeepCopyInto

func (in *DataNodeConfigSpec) DeepCopyInto(out *DataNodeConfigSpec)

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

type DataNodeContainerLoggingSpec

type DataNodeContainerLoggingSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	EnableVectorAgent bool `json:"enableVectorAgent,omitempty"`
	// +kubebuilder:validation:Optional
	DataNode     *LoggingConfigSpec `json:"datanode,omitempty"`
	WaitNameNode *LoggingConfigSpec `json:"waitNamenode,omitempty"`
}

func (*DataNodeContainerLoggingSpec) DeepCopy

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

func (*DataNodeContainerLoggingSpec) DeepCopyInto

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

type DataNodeRoleGroupSpec

type DataNodeRoleGroupSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=1
	Replicas int32 `json:"replicas,omitempty"`

	// +kubebuilder:validation:Required
	Config *DataNodeConfigSpec `json:"config,omitempty"`

	// +kubebuilder:validation:Optional
	CliOverrides []string `json:"cliOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	ConfigOverrides *ConfigOverridesSpec `json:"configOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	EnvOverrides map[string]string `json:"envOverrides,omitempty"`
}

func (*DataNodeRoleGroupSpec) DeepCopy

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

func (*DataNodeRoleGroupSpec) DeepCopyInto

func (in *DataNodeRoleGroupSpec) DeepCopyInto(out *DataNodeRoleGroupSpec)

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

type DataNodeSpec

type DataNodeSpec struct {
	// +kubebuilder:validation:Optional
	Config *DataNodeConfigSpec `json:"config,omitempty"`

	// +kubebuilder:validation:Optional
	RoleGroups map[string]*DataNodeRoleGroupSpec `json:"roleGroups,omitempty"`

	// +kubebuilder:validation:Optional
	PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// +kubebuilder:validation:Optional
	CliOverrides []string `json:"cliOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	ConfigOverrides *ConfigOverridesSpec `json:"configOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	EnvOverrides map[string]string `json:"envOverrides,omitempty"`
}

func (*DataNodeSpec) DeepCopy

func (in *DataNodeSpec) DeepCopy() *DataNodeSpec

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

func (*DataNodeSpec) DeepCopyInto

func (in *DataNodeSpec) DeepCopyInto(out *DataNodeSpec)

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

type HdfsCluster

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

	Spec   HdfsClusterSpec `json:"spec,omitempty"`
	Status status.Status   `json:"status,omitempty"`
}

HdfsCluster is the Schema for the hdfsclusters API

func (*HdfsCluster) DeepCopy

func (in *HdfsCluster) DeepCopy() *HdfsCluster

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

func (*HdfsCluster) DeepCopyInto

func (in *HdfsCluster) DeepCopyInto(out *HdfsCluster)

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

func (*HdfsCluster) DeepCopyObject

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

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

type HdfsClusterList

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

HdfsClusterList contains a list of HdfsCluster

func (*HdfsClusterList) DeepCopy

func (in *HdfsClusterList) DeepCopy() *HdfsClusterList

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

func (*HdfsClusterList) DeepCopyInto

func (in *HdfsClusterList) DeepCopyInto(out *HdfsClusterList)

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

func (*HdfsClusterList) DeepCopyObject

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

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

type HdfsClusterSpec

type HdfsClusterSpec struct {
	// +kubebuilder:validation:Optional
	Image *ImageSpec `json:"image,omitempty"`

	// +kubebuilder:validation:Optional
	ClusterOperationSpec *commonsv1alpha1.ClusterOperationSpec `json:"clusterOperation,omitempty"`

	// +kubebuilder:validation:Required
	ClusterConfig *ClusterConfigSpec `json:"clusterConfig,omitempty"`

	// roles defined: nameNode, dataNode, journalNode
	// +kubebuilder:validation:Required
	NameNode *NameNodeSpec `json:"nameNode,omitempty"`

	// +kubebuilder:validation:Required
	DataNode *DataNodeSpec `json:"dataNode,omitempty"`

	// +kubebuilder:validation:Required
	JournalNode *JournalNodeSpec `json:"journalNode,omitempty"`
}

HdfsClusterSpec defines the desired state of HdfsCluster

func (*HdfsClusterSpec) DeepCopy

func (in *HdfsClusterSpec) DeepCopy() *HdfsClusterSpec

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

func (*HdfsClusterSpec) DeepCopyInto

func (in *HdfsClusterSpec) DeepCopyInto(out *HdfsClusterSpec)

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

type ImageSpec

type ImageSpec struct {
	// +kubebuilder:validation:Optional
	Custom string `json:"custom,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=quay.io/zncdatadev
	Repo string `json:"repository,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="0.0.0-dev"
	KubedoopVersion string `json:"kubedoopVersion,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="3.3.6"
	ProductVersion string `json:"productVersion,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=IfNotPresent
	PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`

	// +kubebuilder:validation:Optional
	PullSecretName string `json:"pullSecretName,omitempty"`
}

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 JournalNodeConfigSpec

type JournalNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	Resources *commonsv1alpha1.ResourcesSpec `json:"resources,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="cluster-internal"
	ListenerClass string `json:"listenerClass,omitempty"`

	// +kubebuilder:validation:Optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext"`

	// +kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity"`

	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations"`

	// +kubebuilder:validation:Optional
	PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// +kubebuilder:validation:Optional
	StorageClass string `json:"storageClass,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="8Gi"
	StorageSize string `json:"storageSize,omitempty"`

	// +kubebuilder:validation:Optional
	ExtraEnv map[string]string `json:"extraEnv,omitempty"`

	// +kubebuilder:validation:Optional
	ExtraSecret map[string]string `json:"extraSecret,omitempty"`

	// +kubebuilder:validation:Optional
	Logging *JournalNodeContainerLoggingSpec `json:"logging,omitempty"`
}

func (*JournalNodeConfigSpec) DeepCopy

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

func (*JournalNodeConfigSpec) DeepCopyInto

func (in *JournalNodeConfigSpec) DeepCopyInto(out *JournalNodeConfigSpec)

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

type JournalNodeContainerLoggingSpec

type JournalNodeContainerLoggingSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	EnableVectorAgent bool `json:"enableVectorAgent,omitempty"`
	// +kubebuilder:validation:Optional
	JournalNode *LoggingConfigSpec `json:"journalNode,omitempty"`
}

func (*JournalNodeContainerLoggingSpec) DeepCopy

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

func (*JournalNodeContainerLoggingSpec) DeepCopyInto

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

type JournalNodeRoleGroupSpec

type JournalNodeRoleGroupSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=1
	Replicas int32 `json:"replicas,omitempty"`

	// +kubebuilder:validation:Required
	Config *JournalNodeConfigSpec `json:"config,omitempty"`

	// +kubebuilder:validation:Optional
	CliOverrides []string `json:"cliOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	ConfigOverrides *ConfigOverridesSpec `json:"configOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	EnvOverrides map[string]string `json:"envOverrides,omitempty"`
}

func (*JournalNodeRoleGroupSpec) DeepCopy

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

func (*JournalNodeRoleGroupSpec) DeepCopyInto

func (in *JournalNodeRoleGroupSpec) DeepCopyInto(out *JournalNodeRoleGroupSpec)

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

type JournalNodeSpec

type JournalNodeSpec struct {
	// +kubebuilder:validation:Optional
	Config *JournalNodeConfigSpec `json:"config,omitempty"`

	// +kubebuilder:validation:Optional
	RoleGroups map[string]*JournalNodeRoleGroupSpec `json:"roleGroups,omitempty"`

	// +kubebuilder:validation:Optional
	PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// +kubebuilder:validation:Optional
	CliOverrides []string `json:"cliOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	ConfigOverrides *ConfigOverridesSpec `json:"configOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	EnvOverrides map[string]string `json:"envOverrides,omitempty"`
}

func (*JournalNodeSpec) DeepCopy

func (in *JournalNodeSpec) DeepCopy() *JournalNodeSpec

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

func (*JournalNodeSpec) DeepCopyInto

func (in *JournalNodeSpec) DeepCopyInto(out *JournalNodeSpec)

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

type KerberosSpec

type KerberosSpec struct {
	// +kubebuilder:validation:Optional
	SecretClass string `json:"secretClass,omitempty"`
}

func (*KerberosSpec) DeepCopy

func (in *KerberosSpec) DeepCopy() *KerberosSpec

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

func (*KerberosSpec) DeepCopyInto

func (in *KerberosSpec) DeepCopyInto(out *KerberosSpec)

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

type LogLevelSpec

type LogLevelSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="INFO"
	// +kubebuilder:validation:Enum=FATAL;ERROR;WARN;INFO;DEBUG;TRACE
	Level string `json:"level,omitempty"`
}

LogLevelSpec level mapping example |---------------------|-----------------| | superset log level | zds log level | |---------------------|-----------------| | CRITICAL | FATAL | | ERROR | ERROR | | WARNING | WARN | | INFO | INFO | | DEBUG | DEBUG | | DEBUG | TRACE | |---------------------|-----------------|

func (*LogLevelSpec) DeepCopy

func (in *LogLevelSpec) DeepCopy() *LogLevelSpec

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

func (*LogLevelSpec) DeepCopyInto

func (in *LogLevelSpec) DeepCopyInto(out *LogLevelSpec)

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

type LoggingConfigSpec

type LoggingConfigSpec struct {
	// +kubebuilder:validation:Optional
	Loggers map[string]*LogLevelSpec `json:"loggers,omitempty"`

	// +kubebuilder:validation:Optional
	Console *LogLevelSpec `json:"console,omitempty"`

	// +kubebuilder:validation:Optional
	File *LogLevelSpec `json:"file,omitempty"`
}

func (*LoggingConfigSpec) DeepCopy

func (in *LoggingConfigSpec) DeepCopy() *LoggingConfigSpec

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

func (*LoggingConfigSpec) DeepCopyInto

func (in *LoggingConfigSpec) DeepCopyInto(out *LoggingConfigSpec)

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

type NameNodeConfigSpec

type NameNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	Resources *commonsv1alpha1.ResourcesSpec `json:"resources,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="external-stable"
	ListenerClass string `json:"listenerClass,omitempty"`

	// +kubebuilder:validation:Optional
	SecurityContext *corev1.PodSecurityContext `json:"securityContext"`

	// +kubebuilder:validation:Optional
	Affinity *corev1.Affinity `json:"affinity"`

	// +kubebuilder:validation:Optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	Tolerations []corev1.Toleration `json:"tolerations"`

	// +kubebuilder:validation:Optional
	PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// +kubebuilder:validation:Optional
	StorageClass string `json:"storageClass,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default="8Gi"
	StorageSize string `json:"storageSize,omitempty"`

	// +kubebuilder:validation:Optional
	ExtraEnv map[string]string `json:"extraEnv,omitempty"`

	// +kubebuilder:validation:Optional
	ExtraSecret map[string]string `json:"extraSecret,omitempty"`

	// +kubebuilder:validation:Optional
	Logging *NameNodeContainerLoggingSpec `json:"logging,omitempty"`
}

func (*NameNodeConfigSpec) DeepCopy

func (in *NameNodeConfigSpec) DeepCopy() *NameNodeConfigSpec

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

func (*NameNodeConfigSpec) DeepCopyInto

func (in *NameNodeConfigSpec) DeepCopyInto(out *NameNodeConfigSpec)

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

type NameNodeContainerLoggingSpec

type NameNodeContainerLoggingSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	EnableVectorAgent bool `json:"enableVectorAgent,omitempty"`
	// +kubebuilder:validation:Optional
	NameNode *LoggingConfigSpec `json:"namenode,omitempty"`
	// +kubebuilder:validation:Optional
	Zkfc *LoggingConfigSpec `json:"zkfc,omitempty"`

	// +kubebuilder:validation:Optional
	FormatZookeeper *LoggingConfigSpec `json:"formatZookeeper,omitempty"`
	// +kubebuilder:validation:Optional
	FormatNameNode *LoggingConfigSpec `json:"formatNameNode,omitempty"`
}

func (*NameNodeContainerLoggingSpec) DeepCopy

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

func (*NameNodeContainerLoggingSpec) DeepCopyInto

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

type NameNodeRoleGroupSpec

type NameNodeRoleGroupSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=1
	Replicas int32 `json:"replicas,omitempty"`

	// +kubebuilder:validation:Required
	Config *NameNodeConfigSpec `json:"config,omitempty"`

	// +kubebuilder:validation:Optional
	CliOverrides []string `json:"cliOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	ConfigOverrides *ConfigOverridesSpec `json:"configOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	EnvOverrides map[string]string `json:"envOverrides,omitempty"`
}

func (*NameNodeRoleGroupSpec) DeepCopy

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

func (*NameNodeRoleGroupSpec) DeepCopyInto

func (in *NameNodeRoleGroupSpec) DeepCopyInto(out *NameNodeRoleGroupSpec)

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

type NameNodeSpec

type NameNodeSpec struct {
	// +kubebuilder:validation:Optional
	Config *NameNodeConfigSpec `json:"config,omitempty"`

	// +kubebuilder:validation:Optional
	RoleGroups map[string]*NameNodeRoleGroupSpec `json:"roleGroups,omitempty"`

	// +kubebuilder:validation:Optional
	PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`

	// +kubebuilder:validation:Optional
	CliOverrides []string `json:"cliOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	ConfigOverrides *ConfigOverridesSpec `json:"configOverrides,omitempty"`

	// +kubebuilder:validation:Optional
	EnvOverrides map[string]string `json:"envOverrides,omitempty"`
}

func (*NameNodeSpec) DeepCopy

func (in *NameNodeSpec) DeepCopy() *NameNodeSpec

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

func (*NameNodeSpec) DeepCopyInto

func (in *NameNodeSpec) DeepCopyInto(out *NameNodeSpec)

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

type OidcSpec

type OidcSpec struct {
	// OIDC client credentials secret. It must contain the following keys:
	//   - `CLIENT_ID`: The client ID of the OIDC client.
	//   - `CLIENT_SECRET`: The client secret of the OIDC client.
	// credentials will omit to pod environment variables.
	// +kubebuilder:validation:Required
	ClientCredentialsSecret string `json:"clientCredentialsSecret"`

	// +kubebuilder:validation:Optional
	ExtraScopes []string `json:"extraScopes,omitempty"`
}

OidcSpec defines the OIDC spec.

func (*OidcSpec) DeepCopy

func (in *OidcSpec) DeepCopy() *OidcSpec

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

func (*OidcSpec) DeepCopyInto

func (in *OidcSpec) DeepCopyInto(out *OidcSpec)

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

type PodDisruptionBudgetSpec

type PodDisruptionBudgetSpec struct {
	// +kubebuilder:validation:Optional
	MinAvailable int32 `json:"minAvailable,omitempty"`

	// +kubebuilder:validation:Optional
	MaxUnavailable int32 `json:"maxUnavailable,omitempty"`
}

func (*PodDisruptionBudgetSpec) DeepCopy

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

func (*PodDisruptionBudgetSpec) DeepCopyInto

func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec)

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

type ServiceSpec

type ServiceSpec struct {
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:enum=ClusterIP;NodePort;LoadBalancer;ExternalName
	// +kubebuilder:default=ClusterIP
	Type corev1.ServiceType `json:"type,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=18080
	Port int32 `json:"port,omitempty"`
}

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

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

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

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

type TlsSpec

type TlsSpec struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="tls"
	SecretClass string `json:"secretClass,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:="changeit"
	JksPassword string `json:"jksPassword,omitempty"`
}

func (*TlsSpec) DeepCopy

func (in *TlsSpec) DeepCopy() *TlsSpec

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

func (*TlsSpec) DeepCopyInto

func (in *TlsSpec) DeepCopyInto(out *TlsSpec)

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