apps

package
v0.9.3-beta.5 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: AGPL-3.0 Imports: 33 Imported by: 1

Documentation

Index

Constants

View Source
const (
	CompDefinitionName = "test-component-definition"
	CompVersionName    = "test-component-version"

	AppName           = "app"
	AppNameSamePrefix = "app-same-prefix"

	ReleasePrefix        = "v0.0.1"
	ServiceVersionPrefix = "8.0.30"
)
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']"
	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"

	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 AppImage added in v0.9.0

func AppImage(app, tag string) string

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 CompDefName added in v0.9.0

func CompDefName(r string) string

func CompDefNameWithExactRegex added in v0.9.1

func CompDefNameWithExactRegex(r string) string

func CompDefNameWithFuzzyRegex added in v0.9.1

func CompDefNameWithFuzzyRegex(r string) string

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 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 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 MockInstanceSetComponent added in v0.9.0

func MockInstanceSetComponent(
	testCtx *testutil.TestContext,
	clusterName,
	itsCompName string) *workloads.InstanceSet

MockInstanceSetComponent mocks the ITS component, just using in envTest

func MockInstanceSetPod added in v0.9.0

func MockInstanceSetPod(
	testCtx *testutil.TestContext,
	its *workloads.InstanceSet,
	clusterName,
	consensusCompName,
	podName,
	podRole, accessMode string,
	resources ...corev1.ResourceRequirements) *corev1.Pod

MockInstanceSetPod mocks to create the pod of the InstanceSet, just using in envTest

func MockInstanceSetPods added in v0.9.0

func MockInstanceSetPods(
	testCtx *testutil.TestContext,
	its *workloads.InstanceSet,
	cluster *appsv1alpha1.Cluster,
	consensusCompName string) []*corev1.Pod

MockInstanceSetPods mocks the InstanceSet pods, just using in envTest

func MockInstanceSetStatus added in v0.9.0

func MockInstanceSetStatus(testCtx testutil.TestContext, cluster *appsv1alpha1.Cluster, fullCompName string)

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 ReleaseID added in v0.9.0

func ReleaseID(r string) string

func ResetToIgnoreFinalizers

func ResetToIgnoreFinalizers()

func ServiceVersion added in v0.9.0

func ServiceVersion(r string) string

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]) AddAccessModeLabel added in v0.9.0

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

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]) 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) SetComponentDef added in v0.9.0

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) AddClusterTopology added in v0.9.0

func (factory *MockClusterDefFactory) AddClusterTopology(topology appsv1alpha1.ClusterTopology) *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, injectEnvTo ...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) AddMultipleTemplateComponent added in v0.9.0

func (factory *MockClusterFactory) AddMultipleTemplateComponent(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) AddSystemAccount added in v0.9.0

func (factory *MockClusterFactory) AddSystemAccount(name string, passwordConfig *appsv1alpha1.PasswordConfig, secretRef *appsv1alpha1.ProvisionSecretRef) *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) SetReplicas

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

func (*MockClusterFactory) SetResources

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

func (*MockClusterFactory) SetSchedulingPolicy added in v0.9.2

func (factory *MockClusterFactory) SetSchedulingPolicy(schedulingPolicy appsv1alpha1.SchedulingPolicy) *MockClusterFactory

func (*MockClusterFactory) SetServiceAccountName

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

func (*MockClusterFactory) SetServiceRefs

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

func (*MockClusterFactory) SetServiceVersion added in v0.9.0

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

func (*MockClusterFactory) SetShards added in v0.8.2

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

func (*MockClusterFactory) SetStop added in v0.9.1

func (factory *MockClusterFactory) SetStop(stop *bool) *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

func (*MockClusterFactory) SetTopology added in v0.9.0

func (factory *MockClusterFactory) SetTopology(topology string) *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, injectEnvTo ...string) *MockComponentDefinitionFactory

func (*MockComponentDefinitionFactory) AddConfigs added in v0.8.0

func (*MockComponentDefinitionFactory) AddEnv added in v0.8.0

func (*MockComponentDefinitionFactory) AddHostNetworkContainerPort added in v0.9.0

func (f *MockComponentDefinitionFactory) AddHostNetworkContainerPort(container string, ports []string) *MockComponentDefinitionFactory

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) AddServiceRef added in v0.9.0

func (f *MockComponentDefinitionFactory) AddServiceRef(name, serviceKind, serviceVersion 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) SetDescription added in v0.9.1

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) SetPodManagementPolicy added in v0.9.1

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) SetServiceVersion added in v0.9.0

func (f *MockComponentDefinitionFactory) SetServiceVersion(serviceVersion string) *MockComponentDefinitionFactory

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) 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) SetServiceVersion added in v0.9.0

func (factory *MockComponentFactory) SetServiceVersion(serviceVersion 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 MockComponentVersionFactory added in v0.9.0

func NewComponentVersionFactory added in v0.9.0

func NewComponentVersionFactory(name string) *MockComponentVersionFactory

func (*MockComponentVersionFactory) AddCompatibilityRule added in v0.9.0

func (f *MockComponentVersionFactory) AddCompatibilityRule(compDefs, releases []string) *MockComponentVersionFactory

func (*MockComponentVersionFactory) AddRelease added in v0.9.0

func (f *MockComponentVersionFactory) AddRelease(name, changes, serviceVersion string, images map[string]string) *MockComponentVersionFactory

func (*MockComponentVersionFactory) SetDefaultSpec added in v0.9.0

func (*MockComponentVersionFactory) SetSpec added in v0.9.0

type MockInstanceSetFactory added in v0.9.0

type MockInstanceSetFactory struct {
	BaseFactory[workloads.InstanceSet, *workloads.InstanceSet, MockInstanceSetFactory]
}

func NewInstanceSetFactory added in v0.9.0

func NewInstanceSetFactory(namespace, name string, clusterName string, componentName string) *MockInstanceSetFactory

func (*MockInstanceSetFactory) AddConfigmapVolume added in v0.9.0

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

func (*MockInstanceSetFactory) AddContainer added in v0.9.0

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

func (*MockInstanceSetFactory) AddVolume added in v0.9.0

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

func (*MockInstanceSetFactory) AddVolumeClaimTemplate added in v0.9.0

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

func (*MockInstanceSetFactory) SetReplicas added in v0.9.0

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

func (*MockInstanceSetFactory) SetRoles added in v0.9.0

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 MockServiceDescriptorFactory

func NewServiceDescriptorFactory

func NewServiceDescriptorFactory(namespace, name string) *MockServiceDescriptorFactory

func (*MockServiceDescriptorFactory) SetAuth

func (*MockServiceDescriptorFactory) SetEndpoint

func (*MockServiceDescriptorFactory) SetHost added in v0.9.0

func (*MockServiceDescriptorFactory) SetPort

func (*MockServiceDescriptorFactory) SetServiceKind

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

func (*MockServiceDescriptorFactory) SetServiceVersion

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

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