apps

package
v0.8.3 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: AGPL-3.0 Imports: 29 Imported by: 2

Documentation

Index

Constants

View Source
const (
	KubeBlocks          = "kubeblocks"
	LogVolumeName       = "log"
	ConfVolumeName      = "conf"
	DataVolumeName      = "data"
	ScriptsVolumeName   = "scripts"
	ServiceDefaultName  = "default"
	ServiceHeadlessName = "headless"
	ServiceVPCName      = "vpc-lb"
	ServiceInternetName = "internet-lb"

	ReplicationPodRoleVolume         = "pod-role"
	ReplicationRoleLabelFieldPath    = "metadata.labels['kubeblocks.io/role']"
	DefaultReplicationCandidateIndex = 0
	DefaultReplicationReplicas       = 2

	ApeCloudMySQLImage        = "docker.io/apecloud/apecloud-mysql-server:latest"
	DefaultMySQLContainerName = "mysql"

	NginxImage                = "nginx"
	DefaultNginxContainerName = "nginx"

	DefaultRedisCompDefName       = "redis"
	DefaultRedisCompSpecName      = "redis-rsts"
	DefaultRedisImageName         = "redis:7.0.5"
	DefaultRedisContainerName     = "redis"
	DefaultRedisInitContainerName = "redis-init-container"

	Class1c1gName                 = "general-1c1g"
	Class2c4gName                 = "general-2c4g"
	DefaultResourceConstraintName = "kb-resource-constraint"

	StorageClassName = "test-sc"
	EnvKeyImageTag   = "IMAGE_TAG"
	DefaultImageTag  = "test"

	DefaultConfigSpecName          = "config-cm"
	DefaultConfigSpecTplRef        = "env-from-config-tpl"
	DefaultConfigSpecVolumeName    = "volume"
	DefaultConfigSpecConstraintRef = "env-from-config-test"
	DefaultScriptSpecName          = "script-cm"
	DefaultScriptSpecTplRef        = "env-from-config-tpl"
	DefaultScriptSpecVolumeName    = "script-volume"
)
View Source
const (
	ConsensusReplicas = 3
)

Variables

View Source
var (
	DefaultCompDefConfigs = []appsv1alpha1.ComponentConfigSpec{
		{
			ComponentTemplateSpec: appsv1alpha1.ComponentTemplateSpec{
				Name:        DefaultConfigSpecName,
				TemplateRef: DefaultConfigSpecTplRef,
				VolumeName:  DefaultConfigSpecVolumeName,
			},
			ConfigConstraintRef: DefaultConfigSpecConstraintRef,
		},
	}

	DefaultCompDefScripts = []appsv1alpha1.ComponentTemplateSpec{
		{
			Name:        DefaultScriptSpecName,
			TemplateRef: DefaultScriptSpecTplRef,
			VolumeName:  DefaultScriptSpecVolumeName,
		},
	}

	Class1c1g = appsv1alpha1.ComponentClass{
		Name:   Class1c1gName,
		CPU:    resource.MustParse("1"),
		Memory: resource.MustParse("1Gi"),
	}

	Class2c4g = appsv1alpha1.ComponentClass{
		Name:   Class2c4gName,
		CPU:    resource.MustParse("2"),
		Memory: resource.MustParse("4Gi"),
	}

	DefaultClasses = map[string]appsv1alpha1.ComponentClass{
		Class1c1gName: Class1c1g,
		Class2c4gName: Class2c4g,
	}
)
View Source
var ToIgnoreFinalizers []string

Functions

func ChangeObj

func ChangeObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](testCtx *testutil.TestContext,
	pobj PT, action func(PT)) error

func ChangeObjStatus

func ChangeObjStatus[T intctrlutil.Object, PT intctrlutil.PObject[T]](testCtx *testutil.TestContext,
	pobj PT, action func()) error

func CheckObj

func CheckObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](testCtx *testutil.TestContext,
	namespacedName types.NamespacedName, check func(g gomega.Gomega, pobj PT)) func(g gomega.Gomega)

func CheckObjExists

func CheckObjExists(testCtx *testutil.TestContext, namespacedName types.NamespacedName,
	obj client.Object, expectExisted bool) func(g gomega.Gomega)

func CheckedCreateCustomizedObj

func CheckedCreateCustomizedObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](testCtx *testutil.TestContext,
	filePath string, pobj PT, actions ...any) PT

func CheckedCreateK8sResource

func CheckedCreateK8sResource(testCtx *testutil.TestContext, obj client.Object) client.Object

func ClearClusterResources

func ClearClusterResources(testCtx *testutil.TestContext)

ClearClusterResources clears all dependent resources belonging to existing clusters. The function is intended to be called to clean resources created by cluster controller in envtest environment without UseExistingCluster set, where garbage collection lacks.

func ClearClusterResourcesWithRemoveFinalizerOption

func ClearClusterResourcesWithRemoveFinalizerOption(testCtx *testutil.TestContext)

ClearClusterResourcesWithRemoveFinalizerOption clears all dependent resources belonging to existing clusters.

func ClearResources

func ClearResources[T intctrlutil.Object, PT intctrlutil.PObject[T],
	L intctrlutil.ObjList[T], PL intctrlutil.PObjList[T, L]](
	testCtx *testutil.TestContext, funcSig func(T, PT, L, PL), opts ...client.DeleteAllOfOption)

ClearResources clears all resources of the given type T satisfying the input ListOptions.

func ClearResourcesWithRemoveFinalizerOption

func ClearResourcesWithRemoveFinalizerOption[T intctrlutil.Object, PT intctrlutil.PObject[T],
	L intctrlutil.ObjList[T], PL intctrlutil.PObjList[T, L]](
	testCtx *testutil.TestContext, _ func(T, PT, L, PL), removeFinalizer bool, opts ...client.DeleteAllOfOption)

ClearResourcesWithRemoveFinalizerOption clears all resources of the given type T with removeFinalizer specifier, and satisfying the input ListOptions.

func CreateConsensusMysqlCluster

func CreateConsensusMysqlCluster(
	testCtx *testutil.TestContext,
	clusterDefName,
	clusterVersionName,
	clusterName,
	workloadType,
	consensusCompName string, pvcSize ...string) *appsv1alpha1.Cluster

CreateConsensusMysqlCluster creates a mysql cluster with a component of ConsensusSet type.

func CreateConsensusMysqlClusterDef

func CreateConsensusMysqlClusterDef(testCtx *testutil.TestContext, clusterDefName, componentDefName string) *appsv1alpha1.ClusterDefinition

CreateConsensusMysqlClusterDef creates a mysql clusterDefinition with a component of ConsensusSet type.

func CreateConsensusMysqlClusterVersion

func CreateConsensusMysqlClusterVersion(testCtx *testutil.TestContext, clusterDefName, clusterVersionName, workloadType string) *appsv1alpha1.ClusterVersion

CreateConsensusMysqlClusterVersion creates a mysql clusterVersion with a component of ConsensusSet type.

func CreateCustomizedObj

func CreateCustomizedObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](testCtx *testutil.TestContext,
	filePath string, pobj PT, actions ...any) PT

func CreateK8sResource

func CreateK8sResource(testCtx *testutil.TestContext, obj client.Object) client.Object

func CreateObj

func CreateObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](testCtx *testutil.TestContext,
	filePath string, pobj PT, actions ...any) PT

CreateObj calls CreateCustomizedObj with CustomizeObjYAML wrapper for any optional modify actions.

func CreateOpsRequest

func CreateOpsRequest(ctx context.Context, testCtx testutil.TestContext, opsRequest *appsv1alpha1.OpsRequest) *appsv1alpha1.OpsRequest

CreateOpsRequest calls the api to create the OpsRequest resource.

func CreateRestartOpsRequest

func CreateRestartOpsRequest(testCtx *testutil.TestContext, clusterName, opsRequestName string, componentNames []string) *appsv1alpha1.OpsRequest

CreateRestartOpsRequest creates an OpsRequest of restart type for testing.

func CreateStorageClass

func CreateStorageClass(testCtx *testutil.TestContext, storageClassName string,
	allowVolumeExpansion bool) *storagev1.StorageClass

func CreateVolumeSnapshotClass

func CreateVolumeSnapshotClass(testCtx *testutil.TestContext)

func CustomizeObjYAML

func CustomizeObjYAML(a ...any) func(string) string

func DeleteObject

func DeleteObject[T intctrlutil.Object, PT intctrlutil.PObject[T]](
	testCtx *testutil.TestContext, key types.NamespacedName, pobj PT)

func GetAndChangeObj

func GetAndChangeObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](
	testCtx *testutil.TestContext, namespacedName types.NamespacedName, action func(PT)) func() error

func GetAndChangeObjStatus

func GetAndChangeObjStatus[T intctrlutil.Object, PT intctrlutil.PObject[T]](
	testCtx *testutil.TestContext, namespacedName types.NamespacedName, action func(pobj PT)) func() error

func GetClusterComponentPhase

func GetClusterComponentPhase(testCtx *testutil.TestContext, clusterKey types.NamespacedName, componentName string) func(g gomega.Gomega) appsv1alpha1.ClusterComponentPhase

GetClusterComponentPhase gets the component phase of testing cluster for verification.

func GetClusterGeneration

func GetClusterGeneration(testCtx *testutil.TestContext, clusterKey types.NamespacedName) func(gomega.Gomega) int64

GetClusterGeneration gets the testing cluster's metadata.generation.

func GetClusterObservedGeneration

func GetClusterObservedGeneration(testCtx *testutil.TestContext, clusterKey types.NamespacedName) func(gomega.Gomega) int64

GetClusterObservedGeneration gets the testing cluster's ObservedGeneration in status for verification.

func GetClusterPhase

func GetClusterPhase(testCtx *testutil.TestContext, clusterKey types.NamespacedName) func(gomega.Gomega) appsv1alpha1.ClusterPhase

GetClusterPhase gets the testing cluster's phase in status for verification.

func GetComponentGeneration added in v0.8.0

func GetComponentGeneration(testCtx *testutil.TestContext, compKey types.NamespacedName) func(gomega.Gomega) int64

GetComponentGeneration gets the testing component's metadata.generation.

func GetComponentObservedGeneration added in v0.8.0

func GetComponentObservedGeneration(testCtx *testutil.TestContext, compKey types.NamespacedName) func(gomega.Gomega) int64

GetComponentObservedGeneration gets the testing component's ObservedGeneration in status for verification.

func GetComponentPhase added in v0.8.0

func GetComponentPhase(testCtx *testutil.TestContext, compKey types.NamespacedName) func(gomega.Gomega) appsv1alpha1.ClusterComponentPhase

GetComponentPhase gets the testing component's phase in status for verification.

func GetOpsRequestCompPhase

func GetOpsRequestCompPhase(ctx context.Context, testCtx testutil.TestContext, opsName, componentName string) func(g gomega.Gomega) appsv1alpha1.ClusterComponentPhase

GetOpsRequestCompPhase gets the component phase of testing OpsRequest for verification.

func GetOpsRequestPhase

func GetOpsRequestPhase(testCtx *testutil.TestContext, opsKey types.NamespacedName) func(gomega.Gomega) appsv1alpha1.OpsPhase

GetOpsRequestPhase gets the testing opsRequest phase for verification.

func GetRandomizedKey

func GetRandomizedKey(namespace, prefix string) types.NamespacedName

func InitClusterWithHybridComps

func InitClusterWithHybridComps(
	testCtx *testutil.TestContext,
	clusterDefName,
	clusterVersionName,
	clusterName,
	statelessCompDefName,
	statefulCompDefName,
	consensusCompDefName string) (*appsv1alpha1.ClusterDefinition, *appsv1alpha1.ClusterVersion, *appsv1alpha1.Cluster)

InitClusterWithHybridComps initializes a cluster environment for testing, includes ClusterDefinition/ClusterVersion/Cluster resources.

func InitConsensusMysql

func InitConsensusMysql(testCtx *testutil.TestContext,
	clusterDefName,
	clusterVersionName,
	clusterName,
	consensusCompType,
	consensusCompName string) (*appsv1alpha1.ClusterDefinition, *appsv1alpha1.ClusterVersion, *appsv1alpha1.Cluster)

InitConsensusMysql initializes a cluster environment which only contains a component of ConsensusSet type for testing, includes ClusterDefinition/ClusterVersion/Cluster resources.

func List

func List[T intctrlutil.Object, PT intctrlutil.PObject[T],
	L intctrlutil.ObjList[T], PL intctrlutil.PObjList[T, L]](
	testCtx *testutil.TestContext, _ func(T, PT, L, PL), opt ...client.ListOption) func(gomega.Gomega) []T

func MockConsensusComponentPods

func MockConsensusComponentPods(
	testCtx *testutil.TestContext,
	sts *appsv1.StatefulSet,
	clusterName,
	consensusCompName string) []*corev1.Pod

MockConsensusComponentPods mocks the component pods, just using in envTest

func MockConsensusComponentStatefulSet

func MockConsensusComponentStatefulSet(
	testCtx *testutil.TestContext,
	clusterName,
	consensusCompName string) *appsv1.StatefulSet

MockConsensusComponentStatefulSet mocks the component statefulSet, just using in envTest

func MockConsensusComponentStsPod

func MockConsensusComponentStsPod(
	testCtx *testutil.TestContext,
	sts *appsv1.StatefulSet,
	clusterName,
	consensusCompName,
	podName,
	podRole, accessMode string) *corev1.Pod

MockConsensusComponentStsPod mocks to create the pod of the consensus StatefulSet, just using in envTest

func MockRSMComponent

func MockRSMComponent(
	testCtx *testutil.TestContext,
	clusterName,
	rsmCompName string) *workloads.ReplicatedStateMachine

MockRSMComponent mocks the component rsm, just using in envTest

func MockReplicationComponentPod

func MockReplicationComponentPod(
	g gomega.Gomega,
	testCtx testutil.TestContext,
	sts *appsv1.StatefulSet,
	clusterName,
	compName,
	podName,
	roleName string) *corev1.Pod

MockReplicationComponentPod mocks to create pod of the replication StatefulSet, just using in envTest

func MockReplicationComponentPods

func MockReplicationComponentPods(
	g gomega.Gomega,
	testCtx testutil.TestContext,
	sts *appsv1.StatefulSet,
	clusterName,
	compName string,
	roleByIdx map[int32]string) []*corev1.Pod

MockReplicationComponentPods mocks to create pods of the component, just using in envTest. If roleByIdx is empty, will have implicit pod-0 being "primary" role and others to "secondary" role.

func MockStatelessComponentDeploy

func MockStatelessComponentDeploy(testCtx *testutil.TestContext, clusterName, componentName string) *appsv1.Deployment

MockStatelessComponentDeploy mocks a deployment workload of the stateless component.

func MockStatelessPod

func MockStatelessPod(testCtx *testutil.TestContext, deploy *appsv1.Deployment, clusterName, componentName, podName string) *corev1.Pod

MockStatelessPod mocks the pods of the deployment workload.

func NewConfigMap

func NewConfigMap(namespace, name string, options ...any) *corev1.ConfigMap

func NewCustomizedObj

func NewCustomizedObj[T intctrlutil.Object, PT intctrlutil.PObject[T]](
	filePath string, pobj PT, actions ...any) PT

func NewOpsRequestObj

func NewOpsRequestObj(opsRequestName, namespace, clusterName string, opsType appsv1alpha1.OpsType) *appsv1alpha1.OpsRequest

NewOpsRequestObj only generates the OpsRequest Object, instead of actually creating this resource.

func NewPVCSpec

NewPVCSpec creates appsv1alpha1.PersistentVolumeClaimSpec.

func RandomizedObjName

func RandomizedObjName() func(client.Object)

func ResetToIgnoreFinalizers

func ResetToIgnoreFinalizers()

func SetConfigMapData

func SetConfigMapData(key string, value string) func(*corev1.ConfigMap)

func WithAnnotations

func WithAnnotations(keysAndValues ...string) func(client.Object)

func WithLabels

func WithLabels(keysAndValues ...string) func(client.Object)

func WithMap

func WithMap(keysAndValues ...string) map[string]string

func WithName

func WithName(name string) func(client.Object)

func WithNamespace

func WithNamespace(namespace string) func(client.Object)

func WithNamespacedName

func WithNamespacedName(resourceName, ns string) func(client.Object)

Types

type BaseFactory

type BaseFactory[T intctrlutil.Object, PT intctrlutil.PObject[T], F any] struct {
	// contains filtered or unexported fields
}

func (*BaseFactory[T, PT, F]) AddAnnotations

func (factory *BaseFactory[T, PT, F]) AddAnnotations(keysAndValues ...string) *F

func (*BaseFactory[T, PT, F]) AddAnnotationsInMap

func (factory *BaseFactory[T, PT, F]) AddAnnotationsInMap(annotations map[string]string) *F

func (*BaseFactory[T, PT, F]) AddAppComponentLabel

func (factory *BaseFactory[T, PT, F]) AddAppComponentLabel(value string) *F

func (*BaseFactory[T, PT, F]) AddAppInstanceLabel

func (factory *BaseFactory[T, PT, F]) AddAppInstanceLabel(value string) *F

func (*BaseFactory[T, PT, F]) AddAppManagedByLabel

func (factory *BaseFactory[T, PT, F]) AddAppManagedByLabel() *F

func (*BaseFactory[T, PT, F]) AddAppNameLabel

func (factory *BaseFactory[T, PT, F]) AddAppNameLabel(value string) *F

func (*BaseFactory[T, PT, F]) AddConsensusSetAccessModeLabel

func (factory *BaseFactory[T, PT, F]) AddConsensusSetAccessModeLabel(value string) *F

func (*BaseFactory[T, PT, F]) AddControllerRevisionHashLabel

func (factory *BaseFactory[T, PT, F]) AddControllerRevisionHashLabel(value string) *F

func (*BaseFactory[T, PT, F]) AddFinalizers

func (factory *BaseFactory[T, PT, F]) AddFinalizers(finalizers []string) *F

func (*BaseFactory[T, PT, F]) AddLabels

func (factory *BaseFactory[T, PT, F]) AddLabels(keysAndValues ...string) *F

func (*BaseFactory[T, PT, F]) AddLabelsInMap

func (factory *BaseFactory[T, PT, F]) AddLabelsInMap(labels map[string]string) *F

func (*BaseFactory[T, PT, F]) AddRoleLabel

func (factory *BaseFactory[T, PT, F]) AddRoleLabel(value string) *F

func (*BaseFactory[T, PT, F]) Apply

func (factory *BaseFactory[T, PT, F]) Apply(changeFn func(PT)) *F

func (*BaseFactory[T, PT, F]) CheckedCreate

func (factory *BaseFactory[T, PT, F]) CheckedCreate(testCtx *testutil.TestContext) *F

func (*BaseFactory[T, PT, F]) Create

func (factory *BaseFactory[T, PT, F]) Create(testCtx *testutil.TestContext) *F

func (*BaseFactory[T, PT, F]) CreateCli

func (factory *BaseFactory[T, PT, F]) CreateCli(ctx context.Context, cli client.Client) *F

func (*BaseFactory[T, PT, F]) Get

func (factory *BaseFactory[T, PT, F]) Get() PT

func (*BaseFactory[T, PT, F]) GetObject

func (factory *BaseFactory[T, PT, F]) GetObject() PT

func (*BaseFactory[T, PT, F]) Init

func (factory *BaseFactory[T, PT, F]) Init(namespace, name string, obj PT, f *F)

func (*BaseFactory[T, PT, F]) SetName added in v0.8.0

func (factory *BaseFactory[T, PT, F]) SetName(name string) *F

func (*BaseFactory[T, PT, F]) SetOwnerReferences

func (factory *BaseFactory[T, PT, F]) SetOwnerReferences(ownerAPIVersion string, ownerKind string, owner client.Object) *F

func (*BaseFactory[T, PT, F]) SetUID added in v0.7.1

func (factory *BaseFactory[T, PT, F]) SetUID(uid types.UID) *F

func (*BaseFactory[T, PT, F]) WithRandomName

func (factory *BaseFactory[T, PT, F]) WithRandomName() *F

type ComponentDefTplType

type ComponentDefTplType string
const (
	StatefulMySQLComponent    ComponentDefTplType = "stateful-mysql"
	ConsensusMySQLComponent   ComponentDefTplType = "consensus-mysql"
	ReplicationRedisComponent ComponentDefTplType = "replication-redis"
	StatelessNginxComponent   ComponentDefTplType = "stateless-nginx"
)

type MockBackupPolicyTemplateFactory

func NewBackupPolicyTemplateFactory

func NewBackupPolicyTemplateFactory(name string) *MockBackupPolicyTemplateFactory

func (*MockBackupPolicyTemplateFactory) AddBackupMethod

func (f *MockBackupPolicyTemplateFactory) AddBackupMethod(name string,
	snapshotVolumes bool, actionSetName string, mappingEnvWithClusterVersion ...string) *MockBackupPolicyTemplateFactory

func (*MockBackupPolicyTemplateFactory) AddBackupPolicy

func (*MockBackupPolicyTemplateFactory) AddSchedule

func (f *MockBackupPolicyTemplateFactory) AddSchedule(method, schedule, retentionPeriod string, enable bool) *MockBackupPolicyTemplateFactory

func (*MockBackupPolicyTemplateFactory) SetBackupMethodVolumeMounts

func (f *MockBackupPolicyTemplateFactory) SetBackupMethodVolumeMounts(keyAndValues ...string) *MockBackupPolicyTemplateFactory

func (*MockBackupPolicyTemplateFactory) SetBackupMethodVolumes

func (f *MockBackupPolicyTemplateFactory) SetBackupMethodVolumes(names []string) *MockBackupPolicyTemplateFactory

func (*MockBackupPolicyTemplateFactory) SetClusterDefRef

func (f *MockBackupPolicyTemplateFactory) SetClusterDefRef(clusterDefRef string) *MockBackupPolicyTemplateFactory

func (*MockBackupPolicyTemplateFactory) SetLabels

func (*MockBackupPolicyTemplateFactory) SetTargetRole

type MockClusterDefFactory

func NewClusterDefFactory

func NewClusterDefFactory(name string) *MockClusterDefFactory

func NewClusterDefFactoryWithConnCredential

func NewClusterDefFactoryWithConnCredential(name, compDefName string) *MockClusterDefFactory

func (*MockClusterDefFactory) AddComponentDef

func (factory *MockClusterDefFactory) AddComponentDef(tplType ComponentDefTplType, compDefName string) *MockClusterDefFactory

func (*MockClusterDefFactory) AddComponentRef

func (*MockClusterDefFactory) AddConfigTemplate

func (factory *MockClusterDefFactory) AddConfigTemplate(name,
	configTemplateRef, configConstraintRef, namespace, volumeName string, asEnvFrom ...string) *MockClusterDefFactory

func (*MockClusterDefFactory) AddContainerEnv

func (factory *MockClusterDefFactory) AddContainerEnv(containerName string, envVar corev1.EnvVar) *MockClusterDefFactory

func (*MockClusterDefFactory) AddContainerVolumeMounts

func (factory *MockClusterDefFactory) AddContainerVolumeMounts(containerName string, volumeMounts []corev1.VolumeMount) *MockClusterDefFactory

func (*MockClusterDefFactory) AddHorizontalScalePolicy

func (factory *MockClusterDefFactory) AddHorizontalScalePolicy(policy appsv1alpha1.HorizontalScalePolicy) *MockClusterDefFactory

func (*MockClusterDefFactory) AddInitContainerVolumeMounts

func (factory *MockClusterDefFactory) AddInitContainerVolumeMounts(containerName string, volumeMounts []corev1.VolumeMount) *MockClusterDefFactory

func (*MockClusterDefFactory) AddLogConfig

func (factory *MockClusterDefFactory) AddLogConfig(name, filePathPattern string) *MockClusterDefFactory

func (*MockClusterDefFactory) AddNamedServicePort

func (factory *MockClusterDefFactory) AddNamedServicePort(name string, port int32) *MockClusterDefFactory

func (*MockClusterDefFactory) AddReplicationSpec

func (factory *MockClusterDefFactory) AddReplicationSpec(replicationSpec *appsv1alpha1.ReplicationSetSpec) *MockClusterDefFactory

func (*MockClusterDefFactory) AddScriptTemplate

func (factory *MockClusterDefFactory) AddScriptTemplate(name,
	configTemplateRef, namespace, volumeName string, mode *int32) *MockClusterDefFactory

func (*MockClusterDefFactory) AddServicePort

func (factory *MockClusterDefFactory) AddServicePort(port int32) *MockClusterDefFactory

func (*MockClusterDefFactory) AddServiceRefDeclarations

func (factory *MockClusterDefFactory) AddServiceRefDeclarations(serviceRefDeclarations []appsv1alpha1.ServiceRefDeclaration) *MockClusterDefFactory

func (*MockClusterDefFactory) AddSwitchoverSpec

func (factory *MockClusterDefFactory) AddSwitchoverSpec(switchoverSpec *appsv1alpha1.SwitchoverSpec) *MockClusterDefFactory

func (*MockClusterDefFactory) AddSystemAccountSpec

func (factory *MockClusterDefFactory) AddSystemAccountSpec(sysAccounts *appsv1alpha1.SystemAccountSpec) *MockClusterDefFactory

func (*MockClusterDefFactory) SetConnectionCredential

func (factory *MockClusterDefFactory) SetConnectionCredential(
	connectionCredential map[string]string, svc *appsv1alpha1.ServiceSpec) *MockClusterDefFactory

func (*MockClusterDefFactory) SetServiceSpec

type MockClusterFactory

type MockClusterFactory struct {
	BaseFactory[appsv1alpha1.Cluster, *appsv1alpha1.Cluster, MockClusterFactory]
}

func NewClusterFactory

func NewClusterFactory(namespace, name, cdRef, cvRef string) *MockClusterFactory

func (*MockClusterFactory) AddClusterToleration

func (factory *MockClusterFactory) AddClusterToleration(toleration corev1.Toleration) *MockClusterFactory

func (*MockClusterFactory) AddComponent

func (factory *MockClusterFactory) AddComponent(compName string, compDefName string) *MockClusterFactory

func (*MockClusterFactory) AddComponentService added in v0.8.0

func (factory *MockClusterFactory) AddComponentService(serviceName string, serviceType corev1.ServiceType) *MockClusterFactory

func (*MockClusterFactory) AddComponentToleration

func (factory *MockClusterFactory) AddComponentToleration(toleration corev1.Toleration) *MockClusterFactory

func (*MockClusterFactory) AddComponentV2 added in v0.8.0

func (factory *MockClusterFactory) AddComponentV2(compName string, compDefName string) *MockClusterFactory

func (*MockClusterFactory) AddService

func (factory *MockClusterFactory) AddService(service appsv1alpha1.ClusterService) *MockClusterFactory

func (*MockClusterFactory) AddShardingSpec added in v0.8.2

func (factory *MockClusterFactory) AddShardingSpec(shardingName string, compDefName string) *MockClusterFactory

func (*MockClusterFactory) AddShardingSpecV2 added in v0.8.2

func (factory *MockClusterFactory) AddShardingSpecV2(shardingName string, compDefName string) *MockClusterFactory

func (*MockClusterFactory) AddUserConfigmapVolume added in v0.8.0

func (factory *MockClusterFactory) AddUserConfigmapVolume(name, mountPoint, resName, containerName string) *MockClusterFactory

func (*MockClusterFactory) AddUserSecretVolume added in v0.8.0

func (factory *MockClusterFactory) AddUserSecretVolume(name, mountPoint, resName, containerName string) *MockClusterFactory

func (*MockClusterFactory) AddVolumeClaimTemplate

func (factory *MockClusterFactory) AddVolumeClaimTemplate(volumeName string,
	pvcSpec appsv1alpha1.PersistentVolumeClaimSpec) *MockClusterFactory

func (*MockClusterFactory) SetBackup

func (factory *MockClusterFactory) SetBackup(backup *appsv1alpha1.ClusterBackup) *MockClusterFactory

func (*MockClusterFactory) SetClassDefRef

func (factory *MockClusterFactory) SetClassDefRef(classDefRef *appsv1alpha1.ClassDefRef) *MockClusterFactory

func (*MockClusterFactory) SetClusterAffinity

func (factory *MockClusterFactory) SetClusterAffinity(affinity *appsv1alpha1.Affinity) *MockClusterFactory

func (*MockClusterFactory) SetCompDef added in v0.8.0

func (factory *MockClusterFactory) SetCompDef(compDef string) *MockClusterFactory

func (*MockClusterFactory) SetComponentAffinity

func (factory *MockClusterFactory) SetComponentAffinity(affinity *appsv1alpha1.Affinity) *MockClusterFactory

func (*MockClusterFactory) SetEnabledLogs

func (factory *MockClusterFactory) SetEnabledLogs(logName ...string) *MockClusterFactory

func (*MockClusterFactory) SetIssuer

func (factory *MockClusterFactory) SetIssuer(issuer *appsv1alpha1.Issuer) *MockClusterFactory

func (*MockClusterFactory) SetMonitor

func (factory *MockClusterFactory) SetMonitor(monitor bool) *MockClusterFactory

func (*MockClusterFactory) SetReplicas

func (factory *MockClusterFactory) SetReplicas(replicas int32) *MockClusterFactory

func (*MockClusterFactory) SetResources

func (factory *MockClusterFactory) SetResources(resources corev1.ResourceRequirements) *MockClusterFactory

func (*MockClusterFactory) SetServiceAccountName

func (factory *MockClusterFactory) SetServiceAccountName(serviceAccountName string) *MockClusterFactory

func (*MockClusterFactory) SetServiceRefs

func (factory *MockClusterFactory) SetServiceRefs(serviceRefs []appsv1alpha1.ServiceRef) *MockClusterFactory

func (*MockClusterFactory) SetShards added in v0.8.2

func (factory *MockClusterFactory) SetShards(shards int32) *MockClusterFactory

func (*MockClusterFactory) SetSwitchPolicy

func (factory *MockClusterFactory) SetSwitchPolicy(switchPolicy *appsv1alpha1.ClusterSwitchPolicy) *MockClusterFactory

func (*MockClusterFactory) SetTLS

func (factory *MockClusterFactory) SetTLS(tls bool) *MockClusterFactory

func (*MockClusterFactory) SetTerminationPolicy added in v0.8.0

func (factory *MockClusterFactory) SetTerminationPolicy(policyType appsv1alpha1.TerminationPolicyType) *MockClusterFactory

type MockClusterVersionFactory

func NewClusterVersionFactory

func NewClusterVersionFactory(name, cdRef string) *MockClusterVersionFactory

func (*MockClusterVersionFactory) AddComponentVersion

func (factory *MockClusterVersionFactory) AddComponentVersion(compDefName string) *MockClusterVersionFactory

func (*MockClusterVersionFactory) AddConfigTemplate

func (factory *MockClusterVersionFactory) AddConfigTemplate(name string,
	configTemplateRef string, configConstraintRef string, volumeName string) *MockClusterVersionFactory

func (*MockClusterVersionFactory) AddContainer

func (factory *MockClusterVersionFactory) AddContainer(container corev1.Container) *MockClusterVersionFactory

func (*MockClusterVersionFactory) AddContainerShort

func (factory *MockClusterVersionFactory) AddContainerShort(name string, image string) *MockClusterVersionFactory

func (*MockClusterVersionFactory) AddInitContainer

func (factory *MockClusterVersionFactory) AddInitContainer(container corev1.Container) *MockClusterVersionFactory

func (*MockClusterVersionFactory) AddInitContainerShort

func (factory *MockClusterVersionFactory) AddInitContainerShort(name string, image string) *MockClusterVersionFactory

type MockComponentClassDefinitionFactory

func NewComponentClassDefinitionFactory

func NewComponentClassDefinitionFactory(name, clusterDefinitionRef, componentType string) *MockComponentClassDefinitionFactory

func (*MockComponentClassDefinitionFactory) AddClasses

type MockComponentDefinitionFactory added in v0.8.0

func NewComponentDefinitionFactory added in v0.8.0

func NewComponentDefinitionFactory(name string) *MockComponentDefinitionFactory

func NewComponentDefinitionFactoryExt added in v0.8.0

func NewComponentDefinitionFactoryExt(name, provider, description, serviceKind, serviceVersion string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddConfigTemplate added in v0.8.0

func (f *MockComponentDefinitionFactory) AddConfigTemplate(name, configTemplateRef, configConstraintRef,
	namespace, volumeName string, asEnvFrom ...string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddConfigs added in v0.8.0

func (*MockComponentDefinitionFactory) AddContainerVolumeMounts added in v0.8.0

func (f *MockComponentDefinitionFactory) AddContainerVolumeMounts(containerName string, volumeMounts []corev1.VolumeMount) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddEnv added in v0.8.0

func (*MockComponentDefinitionFactory) AddLogConfig added in v0.8.0

func (f *MockComponentDefinitionFactory) AddLogConfig(name, filePathPattern string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddRole added in v0.8.0

func (f *MockComponentDefinitionFactory) AddRole(name string, serviceable, writable bool) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddScriptTemplate added in v0.8.0

func (f *MockComponentDefinitionFactory) AddScriptTemplate(name, configTemplateRef, namespace, volumeName string,
	mode *int32) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddScripts added in v0.8.0

func (*MockComponentDefinitionFactory) AddService added in v0.8.0

func (f *MockComponentDefinitionFactory) AddService(name, serviceName string, port int32, roleSelector string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddServiceExt added in v0.8.0

func (f *MockComponentDefinitionFactory) AddServiceExt(name, serviceName string, serviceSpec corev1.ServiceSpec, roleSelector string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddSystemAccount added in v0.8.0

func (f *MockComponentDefinitionFactory) AddSystemAccount(accountName string, initAccount bool, statement string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddVar added in v0.8.0

func (*MockComponentDefinitionFactory) AddVolume added in v0.8.0

func (f *MockComponentDefinitionFactory) AddVolume(name string, snapshot bool, watermark int) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddVolumeMounts added in v0.8.0

func (f *MockComponentDefinitionFactory) AddVolumeMounts(containerName string, volumeMounts []corev1.VolumeMount) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) SetDefaultSpec added in v0.8.0

func (*MockComponentDefinitionFactory) SetLabels added in v0.8.0

func (*MockComponentDefinitionFactory) SetLifecycleAction added in v0.8.0

func (f *MockComponentDefinitionFactory) SetLifecycleAction(name string, val interface{}) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) SetMonitor added in v0.8.0

func (f *MockComponentDefinitionFactory) SetMonitor(builtIn bool, scrapePort intstr.IntOrString, scrapePath string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) SetPolicyRules added in v0.8.0

func (*MockComponentDefinitionFactory) SetReplicasLimit added in v0.8.0

func (f *MockComponentDefinitionFactory) SetReplicasLimit(minReplicas, maxReplicas int32) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) SetRoleArbitrator added in v0.8.0

func (*MockComponentDefinitionFactory) SetRuntime added in v0.8.0

SetRuntime adds a new container to runtime, or updates it to @container if it's already existed. If @container is nil, the default MySQL container (defaultMySQLContainer) will be used.

func (*MockComponentDefinitionFactory) SetUpdateStrategy added in v0.8.0

type MockComponentFactory added in v0.8.0

func NewComponentFactory added in v0.8.0

func NewComponentFactory(namespace, name, componentDefinition string) *MockComponentFactory

func (*MockComponentFactory) AddToleration added in v0.8.0

func (factory *MockComponentFactory) AddToleration(toleration corev1.Toleration) *MockComponentFactory

func (*MockComponentFactory) AddVolumeClaimTemplate added in v0.8.0

func (factory *MockComponentFactory) AddVolumeClaimTemplate(volumeName string,
	pvcSpec appsv1alpha1.PersistentVolumeClaimSpec) *MockComponentFactory

func (*MockComponentFactory) SetAffinity added in v0.8.0

func (factory *MockComponentFactory) SetAffinity(affinity *appsv1alpha1.Affinity) *MockComponentFactory

func (*MockComponentFactory) SetEnabledLogs added in v0.8.0

func (factory *MockComponentFactory) SetEnabledLogs(logName ...string) *MockComponentFactory

func (*MockComponentFactory) SetMonitor added in v0.8.0

func (factory *MockComponentFactory) SetMonitor(monitor bool) *MockComponentFactory

func (*MockComponentFactory) SetReplicas added in v0.8.0

func (factory *MockComponentFactory) SetReplicas(replicas int32) *MockComponentFactory

func (*MockComponentFactory) SetResources added in v0.8.0

func (factory *MockComponentFactory) SetResources(resources corev1.ResourceRequirements) *MockComponentFactory

func (*MockComponentFactory) SetServiceAccountName added in v0.8.0

func (factory *MockComponentFactory) SetServiceAccountName(serviceAccountName string) *MockComponentFactory

func (*MockComponentFactory) SetTLSConfig added in v0.8.0

func (factory *MockComponentFactory) SetTLSConfig(enable bool, issuer *appsv1alpha1.Issuer) *MockComponentFactory

type MockComponentResourceConstraintFactory

func NewComponentResourceConstraintFactory

func NewComponentResourceConstraintFactory(name string) *MockComponentResourceConstraintFactory

func (*MockComponentResourceConstraintFactory) AddComponentSelector added in v0.8.0

func (*MockComponentResourceConstraintFactory) AddConstraints

func (*MockComponentResourceConstraintFactory) AddSelector

AddSelector add a cluster resource constraint selector TODO(xingran): it will be deprecated in the future, use AddComponentSelector instead

type MockDeploymentFactory

type MockDeploymentFactory struct {
	BaseFactory[appsv1.Deployment, *appsv1.Deployment, MockDeploymentFactory]
}

func NewDeploymentFactory

func NewDeploymentFactory(namespace, name, clusterName, componentName string) *MockDeploymentFactory

func (*MockDeploymentFactory) AddConfigmapVolume

func (factory *MockDeploymentFactory) AddConfigmapVolume(volumeName, configmapName string) *MockDeploymentFactory

func (*MockDeploymentFactory) AddContainer

func (factory *MockDeploymentFactory) AddContainer(container corev1.Container) *MockDeploymentFactory

func (*MockDeploymentFactory) AddVolume

func (factory *MockDeploymentFactory) AddVolume(volume corev1.Volume) *MockDeploymentFactory

func (*MockDeploymentFactory) SetMinReadySeconds

func (factory *MockDeploymentFactory) SetMinReadySeconds(minReadySeconds int32) *MockDeploymentFactory

func (*MockDeploymentFactory) SetReplicas

func (factory *MockDeploymentFactory) SetReplicas(replicas int32) *MockDeploymentFactory

type MockPersistentVolumeClaimFactory

func NewPersistentVolumeClaimFactory

func NewPersistentVolumeClaimFactory(namespace, name, clusterName, componentName, vctName string) *MockPersistentVolumeClaimFactory

func (*MockPersistentVolumeClaimFactory) SetAnnotations

func (factory *MockPersistentVolumeClaimFactory) SetAnnotations(annotations map[string]string) *MockPersistentVolumeClaimFactory

func (*MockPersistentVolumeClaimFactory) SetDataSourceRef

func (factory *MockPersistentVolumeClaimFactory) SetDataSourceRef(apiGroup, kind, name string) *MockPersistentVolumeClaimFactory

func (*MockPersistentVolumeClaimFactory) SetStorage

func (*MockPersistentVolumeClaimFactory) SetStorageClass

func (factory *MockPersistentVolumeClaimFactory) SetStorageClass(storageClassName string) *MockPersistentVolumeClaimFactory

func (*MockPersistentVolumeClaimFactory) SetVolumeName

type MockPersistentVolumeFactory

type MockPersistentVolumeFactory struct {
	BaseFactory[corev1.PersistentVolume, *corev1.PersistentVolume, MockPersistentVolumeFactory]
}

func NewPersistentVolumeFactory

func NewPersistentVolumeFactory(namespace, name, pvcName string) *MockPersistentVolumeFactory

func (*MockPersistentVolumeFactory) SetCSIDriver

func (f *MockPersistentVolumeFactory) SetCSIDriver(driverName string) *MockPersistentVolumeFactory

func (*MockPersistentVolumeFactory) SetClaimRef

func (*MockPersistentVolumeFactory) SetPersistentVolumeReclaimPolicy

func (f *MockPersistentVolumeFactory) SetPersistentVolumeReclaimPolicy(reclaimPolicy corev1.PersistentVolumeReclaimPolicy) *MockPersistentVolumeFactory

func (*MockPersistentVolumeFactory) SetStorage

func (*MockPersistentVolumeFactory) SetStorageClass

func (f *MockPersistentVolumeFactory) SetStorageClass(storageClassName string) *MockPersistentVolumeFactory

type MockPodFactory

type MockPodFactory struct {
	BaseFactory[corev1.Pod, *corev1.Pod, MockPodFactory]
}

func NewPodFactory

func NewPodFactory(namespace, name string) *MockPodFactory

func (*MockPodFactory) AddContainer

func (factory *MockPodFactory) AddContainer(container corev1.Container) *MockPodFactory

func (*MockPodFactory) AddNodeName

func (factory *MockPodFactory) AddNodeName(nodeName string) *MockPodFactory

func (*MockPodFactory) AddVolume

func (factory *MockPodFactory) AddVolume(volume corev1.Volume) *MockPodFactory

type MockRSMFactory

func NewRSMFactory

func NewRSMFactory(namespace, name string, clusterName string, componentName string) *MockRSMFactory

func (*MockRSMFactory) AddConfigmapVolume

func (factory *MockRSMFactory) AddConfigmapVolume(volumeName string, configmapName string) *MockRSMFactory

func (*MockRSMFactory) AddContainer

func (factory *MockRSMFactory) AddContainer(container corev1.Container) *MockRSMFactory

func (*MockRSMFactory) AddVolume

func (factory *MockRSMFactory) AddVolume(volume corev1.Volume) *MockRSMFactory

func (*MockRSMFactory) AddVolumeClaimTemplate

func (factory *MockRSMFactory) AddVolumeClaimTemplate(pvc corev1.PersistentVolumeClaim) *MockRSMFactory

func (*MockRSMFactory) SetReplicas

func (factory *MockRSMFactory) SetReplicas(replicas int32) *MockRSMFactory

type MockServiceDescriptorFactory

func NewServiceDescriptorFactory

func NewServiceDescriptorFactory(namespace, name string) *MockServiceDescriptorFactory

func (*MockServiceDescriptorFactory) SetAuth

func (*MockServiceDescriptorFactory) SetEndpoint

func (*MockServiceDescriptorFactory) SetPort

func (*MockServiceDescriptorFactory) SetServiceKind

func (factory *MockServiceDescriptorFactory) SetServiceKind(serviceKind string) *MockServiceDescriptorFactory

func (*MockServiceDescriptorFactory) SetServiceVersion

func (factory *MockServiceDescriptorFactory) SetServiceVersion(serviceVersion string) *MockServiceDescriptorFactory

type MockStatefulSetFactory

type MockStatefulSetFactory struct {
	BaseFactory[appsv1.StatefulSet, *appsv1.StatefulSet, MockStatefulSetFactory]
}

func NewStatefulSetFactory

func NewStatefulSetFactory(namespace, name string, clusterName string, componentName string) *MockStatefulSetFactory

func (*MockStatefulSetFactory) AddConfigmapVolume

func (factory *MockStatefulSetFactory) AddConfigmapVolume(volumeName string, configmapName string) *MockStatefulSetFactory

func (*MockStatefulSetFactory) AddContainer

func (factory *MockStatefulSetFactory) AddContainer(container corev1.Container) *MockStatefulSetFactory

func (*MockStatefulSetFactory) AddVolume

func (factory *MockStatefulSetFactory) AddVolume(volume corev1.Volume) *MockStatefulSetFactory

func (*MockStatefulSetFactory) AddVolumeClaimTemplate

func (factory *MockStatefulSetFactory) AddVolumeClaimTemplate(pvc corev1.PersistentVolumeClaim) *MockStatefulSetFactory

func (*MockStatefulSetFactory) SetReplicas

func (factory *MockStatefulSetFactory) SetReplicas(replicas int32) *MockStatefulSetFactory

type ResourceConstraintTplType

type ResourceConstraintTplType string
const (
	GeneralResourceConstraint         ResourceConstraintTplType = "general"
	MemoryOptimizedResourceConstraint ResourceConstraintTplType = "memory-optimized"
	ProductionResourceConstraint      ResourceConstraintTplType = "production"
)

Jump to

Keyboard shortcuts

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