Documentation ¶
Index ¶
- Constants
- Variables
- func BuildAffinity(cluster *appsv1alpha1.Cluster, compSpec *appsv1alpha1.ClusterComponentSpec) *appsv1alpha1.Affinity
- func BuildComponent(cluster *appsv1alpha1.Cluster, ...) (*appsv1alpha1.Component, error)
- func BuildComponentDefinition(clusterDef *appsv1alpha1.ClusterDefinition, ...) (*appsv1alpha1.ComponentDefinition, error)
- func BuildPodAffinity(clusterName string, compName string, compAffinity *appsv1alpha1.Affinity) (*corev1.Affinity, error)
- func BuildPodTopologySpreadConstraints(clusterName, compName string, compAffinity *appsv1alpha1.Affinity) []corev1.TopologySpreadConstraint
- func BuildRSMFrom(synthesizeComp *SynthesizedComponent, ...) (*workloads.ReplicatedStateMachine, error)
- func BuildTolerations(cluster *appsv1alpha1.Cluster, compSpec *appsv1alpha1.ClusterComponentSpec) ([]corev1.Toleration, error)
- func CheckAndGetClusterComponents(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster) ([]client.Object, error)
- func CheckJobSucceed(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, ...) error
- func CleanJobByName(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, ...) error
- func CleanJobWithLabels(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, ...) error
- func ConvertSynthesizeCompRoleToRSMRole(synthesizedComp *SynthesizedComponent) []workloads.ReplicaRole
- func FullName(clusterName, compName string) string
- func GenServiceReferences(reqCtx intctrlutil.RequestCtx, cli roclient.ReadonlyClient, ...) (map[string]*appsv1alpha1.ServiceDescriptor, error)
- func GenServiceReferencesLegacy(reqCtx intctrlutil.RequestCtx, cli roclient.ReadonlyClient, ...) (map[string]*appsv1alpha1.ServiceDescriptor, error)
- func GetClusterName(comp *appsv1alpha1.Component) (string, error)
- func GetClusterUID(comp *appsv1alpha1.Component) (string, error)
- func GetCompDefinition(reqCtx intctrlutil.RequestCtx, cli client.Client, ...) (*appsv1alpha1.ComponentDefinition, error)
- func GetComponentDefName(cluster *appsv1alpha1.Cluster, componentName string) string
- func GetComponentDeployMinReadySeconds(ctx context.Context, cli client.Client, cluster appsv1alpha1.Cluster, ...) (minReadySeconds int32, err error)
- func GetComponentPodList(ctx context.Context, cli client.Reader, cluster appsv1alpha1.Cluster, ...) (*corev1.PodList, error)
- func GetComponentPodListWithRole(ctx context.Context, cli client.Reader, cluster appsv1alpha1.Cluster, ...) (*corev1.PodList, error)
- func GetComponentStsMinReadySeconds(ctx context.Context, cli client.Client, cluster appsv1alpha1.Cluster, ...) (minReadySeconds int32, err error)
- func GetComponentWorkloadMinReadySeconds(ctx context.Context, cli client.Client, cluster appsv1alpha1.Cluster, ...) (minReadySeconds int32, err error)
- func GetConfigSpecByName(synthesizedComp *SynthesizedComponent, configSpec string) *appsv1alpha1.ComponentConfigSpec
- func GetEnvReplacementMapForConnCredential(clusterName string) map[string]string
- func GetJobWithLabels(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, ...) ([]batchv1.Job, error)
- func GetObjectListByComponentName(ctx context.Context, cli client2.ReadonlyClient, cluster appsv1alpha1.Cluster, ...) error
- func GetReplacementMapForBuiltInEnv(clusterName, clusterUID, componentName string) map[string]string
- func InjectEnvVars(synthesizedComp *SynthesizedComponent, envVars []corev1.EnvVar, ...)
- func InjectEnvVars4Containers(synthesizedComp *SynthesizedComponent, envVars []corev1.EnvVar, ...)
- func IsComponentPodsWithLatestRevision(ctx context.Context, cli client.Reader, cluster *appsv1alpha1.Cluster, ...) (bool, error)
- func ListObjWithLabelsInNamespace[T generics.Object, PT generics.PObject[T], L generics.ObjList[T], ...](ctx context.Context, cli client.Reader, _ func(T, PT, L, PL), namespace string, ...) ([]PT, error)
- func ListPodOwnedByComponent(ctx context.Context, cli client.Reader, namespace string, ...) ([]*corev1.Pod, error)
- func ListRSMOwnedByComponent(ctx context.Context, cli client.Client, namespace string, ...) ([]*workloads.ReplicatedStateMachine, error)
- func ParseComponentClasses(classDefinition v1alpha1.ComponentClassDefinition) (map[v1alpha1.ClassDefRef]*v1alpha1.ComponentClass, error)
- func ReconcileCompPostProvision(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, ...) error
- func ReplaceNamedVars(namedValuesMap map[string]string, targetVar string, limits int, matchAll bool) string
- func ReplaceSecretEnvVars(namedValuesMap map[string]string, envs []corev1.EnvVar) []corev1.EnvVar
- func ResolveEnvVars4LegacyCluster(ctx context.Context, cli client.Reader, synthesizedComp *SynthesizedComponent, ...) (map[string]any, []corev1.EnvVar, error)
- func ResolveTemplateNEnvVars(ctx context.Context, cli client.Reader, synthesizedComp *SynthesizedComponent, ...) (map[string]any, []corev1.EnvVar, error)
- func ShortName(clusterName, compName string) (string, error)
- type ByClassResource
- type ByResourceList
- type ByRuleList
- type ComponentClassWithRef
- type Manager
- func (r *Manager) ChooseClass(synthesizedComp *SynthesizedComponent, comp *v1alpha1.Component) (*ComponentClassWithRef, error)
- func (r *Manager) GetClasses() map[string][]*ComponentClassWithRef
- func (r *Manager) GetResources(synthesizedComp *SynthesizedComponent, comp *v1alpha1.Component) (corev1.ResourceList, error)
- func (r *Manager) HasClass(compType string, classDefRef v1alpha1.ClassDefRef) bool
- func (r *Manager) ValidateResources(synthesizedComp *SynthesizedComponent, comp *v1alpha1.Component) error
- type MonitorConfig
- type SynthesizedComponent
- func BuildSynthesizedComponent(reqCtx intctrlutil.RequestCtx, cli client.Reader, ...) (*SynthesizedComponent, error)
- func BuildSynthesizedComponent4Generated(reqCtx intctrlutil.RequestCtx, cli client.Reader, ...) (*appsv1alpha1.ComponentDefinition, *SynthesizedComponent, error)
- func BuildSynthesizedComponentWrapper(reqCtx intctrlutil.RequestCtx, cli client.Reader, ...) (*SynthesizedComponent, error)
- func BuildSynthesizedComponentWrapper4Test(reqCtx intctrlutil.RequestCtx, cli client.Reader, ...) (*SynthesizedComponent, error)
Constants ¶
const (
KBJobTTLSecondsAfterFinished = 5
)
Variables ¶
var ( ErrClassNotFound = fmt.Errorf("class not found") ErrInvalidResource = fmt.Errorf("resource is not conform to the constraints, please check the ComponentResourceConstraint API") )
var (
Any = v1alpha1.ClassDefRef{}
)
Functions ¶
func BuildAffinity ¶
func BuildAffinity(cluster *appsv1alpha1.Cluster, compSpec *appsv1alpha1.ClusterComponentSpec) *appsv1alpha1.Affinity
BuildAffinity builds affinities for components from cluster and comp spec.
func BuildComponent ¶
func BuildComponent(cluster *appsv1alpha1.Cluster, clusterCompSpec *appsv1alpha1.ClusterComponentSpec) (*appsv1alpha1.Component, error)
BuildComponent builds a new Component object from cluster component spec and definition.
func BuildComponentDefinition ¶ added in v0.8.0
func BuildComponentDefinition(clusterDef *appsv1alpha1.ClusterDefinition, clusterVer *appsv1alpha1.ClusterVersion, clusterCompSpec *appsv1alpha1.ClusterComponentSpec) (*appsv1alpha1.ComponentDefinition, error)
func BuildPodAffinity ¶
func BuildPodTopologySpreadConstraints ¶
func BuildPodTopologySpreadConstraints(clusterName, compName string, compAffinity *appsv1alpha1.Affinity) []corev1.TopologySpreadConstraint
func BuildRSMFrom ¶ added in v0.8.0
func BuildRSMFrom(synthesizeComp *SynthesizedComponent, protoRSM *workloads.ReplicatedStateMachine) (*workloads.ReplicatedStateMachine, error)
BuildRSMFrom builds a new Component object based on SynthesizedComponent.
func BuildTolerations ¶
func BuildTolerations(cluster *appsv1alpha1.Cluster, compSpec *appsv1alpha1.ClusterComponentSpec) ([]corev1.Toleration, error)
BuildTolerations builds tolerations for components from cluster and comp spec.
func CheckAndGetClusterComponents ¶ added in v0.8.0
func CheckAndGetClusterComponents(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster) ([]client.Object, error)
CheckAndGetClusterComponents checks if all components have created and gets the created components.
func CheckJobSucceed ¶ added in v0.7.1
func CheckJobSucceed(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, jobName string) error
CheckJobSucceed checks the result of job execution. Returns: - bool: whether job exist, true exist - error: any error that occurred during the handling
func CleanJobByName ¶ added in v0.7.1
func CleanJobByName(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, jobName string) error
CleanJobByName cleans up the job task by name.
func CleanJobWithLabels ¶ added in v0.7.1
func CleanJobWithLabels(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, matchLabels client.MatchingLabels) error
CleanJobWithLabels cleans up the job tasks with label.
func ConvertSynthesizeCompRoleToRSMRole ¶ added in v0.8.0
func ConvertSynthesizeCompRoleToRSMRole(synthesizedComp *SynthesizedComponent) []workloads.ReplicaRole
ConvertSynthesizeCompRoleToRSMRole converts the component.SynthesizedComponent.Roles to workloads.ReplicaRole.
func GenServiceReferences ¶ added in v0.8.0
func GenServiceReferences(reqCtx intctrlutil.RequestCtx, cli roclient.ReadonlyClient, namespace, clusterName string, compDef *appsv1alpha1.ComponentDefinition, comp *appsv1alpha1.Component) (map[string]*appsv1alpha1.ServiceDescriptor, error)
func GenServiceReferencesLegacy ¶ added in v0.8.0
func GenServiceReferencesLegacy(reqCtx intctrlutil.RequestCtx, cli roclient.ReadonlyClient, clusterDef *appsv1alpha1.ClusterDefinition, clusterVer *appsv1alpha1.ClusterVersion, cluster *appsv1alpha1.Cluster, clusterCompSpec *appsv1alpha1.ClusterComponentSpec) (map[string]*appsv1alpha1.ServiceDescriptor, error)
func GetClusterName ¶ added in v0.8.0
func GetClusterName(comp *appsv1alpha1.Component) (string, error)
func GetClusterUID ¶ added in v0.8.0
func GetClusterUID(comp *appsv1alpha1.Component) (string, error)
func GetCompDefinition ¶ added in v0.8.0
func GetCompDefinition(reqCtx intctrlutil.RequestCtx, cli client.Client, cluster *appsv1alpha1.Cluster, compName string) (*appsv1alpha1.ComponentDefinition, error)
GetCompDefinition gets the component definition by component name.
func GetComponentDefName ¶ added in v0.8.0
func GetComponentDefName(cluster *appsv1alpha1.Cluster, componentName string) string
GetComponentDefName gets the name of referenced component definition.
func GetComponentDeployMinReadySeconds ¶ added in v0.8.0
func GetComponentDeployMinReadySeconds(ctx context.Context, cli client.Client, cluster appsv1alpha1.Cluster, componentName string) (minReadySeconds int32, err error)
GetComponentDeployMinReadySeconds gets the deployment minReadySeconds of the component.
func GetComponentPodList ¶ added in v0.8.0
func GetComponentPodList(ctx context.Context, cli client.Reader, cluster appsv1alpha1.Cluster, componentName string) (*corev1.PodList, error)
GetComponentPodList gets the pod list by cluster and componentName
func GetComponentPodListWithRole ¶ added in v0.8.0
func GetComponentPodListWithRole(ctx context.Context, cli client.Reader, cluster appsv1alpha1.Cluster, compSpecName, role string) (*corev1.PodList, error)
GetComponentPodListWithRole gets the pod list with target role by cluster and componentName
func GetComponentStsMinReadySeconds ¶ added in v0.8.0
func GetComponentStsMinReadySeconds(ctx context.Context, cli client.Client, cluster appsv1alpha1.Cluster, componentName string) (minReadySeconds int32, err error)
GetComponentStsMinReadySeconds gets the statefulSet minReadySeconds of the component.
func GetComponentWorkloadMinReadySeconds ¶ added in v0.8.0
func GetComponentWorkloadMinReadySeconds(ctx context.Context, cli client.Client, cluster appsv1alpha1.Cluster, workloadType appsv1alpha1.WorkloadType, componentName string) (minReadySeconds int32, err error)
GetComponentWorkloadMinReadySeconds gets the workload minReadySeconds of the component.
func GetConfigSpecByName ¶
func GetConfigSpecByName(synthesizedComp *SynthesizedComponent, configSpec string) *appsv1alpha1.ComponentConfigSpec
func GetEnvReplacementMapForConnCredential ¶
GetEnvReplacementMapForConnCredential gets the replacement map for connect credential TODO: deprecated, will be removed later.
func GetJobWithLabels ¶ added in v0.7.1
func GetJobWithLabels(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, matchLabels client.MatchingLabels) ([]batchv1.Job, error)
GetJobWithLabels gets the job list with the specified labels.
func GetObjectListByComponentName ¶ added in v0.8.0
func GetObjectListByComponentName(ctx context.Context, cli client2.ReadonlyClient, cluster appsv1alpha1.Cluster, objectList client.ObjectList, componentName string) error
GetObjectListByComponentName gets k8s workload list with component
func GetReplacementMapForBuiltInEnv ¶
func GetReplacementMapForBuiltInEnv(clusterName, clusterUID, componentName string) map[string]string
GetReplacementMapForBuiltInEnv gets the replacement map for KubeBlocks built-in environment variables.
func InjectEnvVars ¶ added in v0.8.0
func InjectEnvVars(synthesizedComp *SynthesizedComponent, envVars []corev1.EnvVar, envFromSources []corev1.EnvFromSource)
func InjectEnvVars4Containers ¶ added in v0.8.0
func InjectEnvVars4Containers(synthesizedComp *SynthesizedComponent, envVars []corev1.EnvVar, envFromSources []corev1.EnvFromSource, filter func(container *corev1.Container) bool)
func IsComponentPodsWithLatestRevision ¶ added in v0.8.0
func IsComponentPodsWithLatestRevision(ctx context.Context, cli client.Reader, cluster *appsv1alpha1.Cluster, rsm *workloads.ReplicatedStateMachine) (bool, error)
IsComponentPodsWithLatestRevision checks whether the underlying pod spec matches the one declared in the Cluster/Component.
func ListObjWithLabelsInNamespace ¶ added in v0.8.0
func ListPodOwnedByComponent ¶ added in v0.8.0
func ListRSMOwnedByComponent ¶ added in v0.8.0
func ListRSMOwnedByComponent(ctx context.Context, cli client.Client, namespace string, labels client.MatchingLabels) ([]*workloads.ReplicatedStateMachine, error)
func ParseComponentClasses ¶ added in v0.8.0
func ParseComponentClasses(classDefinition v1alpha1.ComponentClassDefinition) (map[v1alpha1.ClassDefRef]*v1alpha1.ComponentClass, error)
ParseComponentClasses parses ComponentClassDefinition to component classes
func ReconcileCompPostProvision ¶ added in v0.8.0
func ReconcileCompPostProvision(ctx context.Context, cli client.Client, cluster *appsv1alpha1.Cluster, comp *appsv1alpha1.Component, synthesizeComp *SynthesizedComponent, dag *graph.DAG) error
ReconcileCompPostProvision reconciles the component-level postProvision command.
func ReplaceNamedVars ¶
func ReplaceNamedVars(namedValuesMap map[string]string, targetVar string, limits int, matchAll bool) string
ReplaceNamedVars replaces the placeholder in targetVar if it is match and returns the replaced result
func ReplaceSecretEnvVars ¶
ReplaceSecretEnvVars replaces the env secret value with namedValues and returns new envs
func ResolveEnvVars4LegacyCluster ¶ added in v0.8.0
func ResolveTemplateNEnvVars ¶ added in v0.8.0
func ResolveTemplateNEnvVars(ctx context.Context, cli client.Reader, synthesizedComp *SynthesizedComponent, annotations map[string]string, definedVars []appsv1alpha1.EnvVar) (map[string]any, []corev1.EnvVar, error)
ResolveTemplateNEnvVars resolves all built-in and user-defined vars for config template and Env usage.
Types ¶
type ByClassResource ¶ added in v0.8.0
type ByClassResource []*ComponentClassWithRef
func (ByClassResource) Len ¶ added in v0.8.0
func (b ByClassResource) Len() int
func (ByClassResource) Less ¶ added in v0.8.0
func (b ByClassResource) Less(i, j int) bool
func (ByClassResource) Swap ¶ added in v0.8.0
func (b ByClassResource) Swap(i, j int)
type ByResourceList ¶ added in v0.8.0
type ByResourceList []corev1.ResourceList
func (ByResourceList) Len ¶ added in v0.8.0
func (b ByResourceList) Len() int
func (ByResourceList) Less ¶ added in v0.8.0
func (b ByResourceList) Less(i, j int) bool
func (ByResourceList) Swap ¶ added in v0.8.0
func (b ByResourceList) Swap(i, j int)
type ByRuleList ¶ added in v0.8.0
type ByRuleList []appsv1alpha1.ResourceConstraintRule
func (ByRuleList) Len ¶ added in v0.8.0
func (m ByRuleList) Len() int
func (ByRuleList) Less ¶ added in v0.8.0
func (m ByRuleList) Less(i, j int) bool
func (ByRuleList) Swap ¶ added in v0.8.0
func (m ByRuleList) Swap(i, j int)
type ComponentClassWithRef ¶ added in v0.8.0
type ComponentClassWithRef struct { appsv1alpha1.ComponentClass ClassDefRef appsv1alpha1.ClassDefRef }
type Manager ¶ added in v0.8.0
func NewManager ¶ added in v0.8.0
func NewManager(classDefinitionList v1alpha1.ComponentClassDefinitionList, constraintList v1alpha1.ComponentResourceConstraintList) (*Manager, error)
func (*Manager) ChooseClass ¶ added in v0.8.0
func (r *Manager) ChooseClass(synthesizedComp *SynthesizedComponent, comp *v1alpha1.Component) (*ComponentClassWithRef, error)
ChooseClass chooses the classes to be used for a given component with constraints TODO(xingran): remove the dependency of SynthesizedComponent.ClusterDefName and SynthesizedComponent.ClusterCompDefName in the future
func (*Manager) GetClasses ¶ added in v0.8.0
func (r *Manager) GetClasses() map[string][]*ComponentClassWithRef
func (*Manager) GetResources ¶ added in v0.8.0
func (r *Manager) GetResources(synthesizedComp *SynthesizedComponent, comp *v1alpha1.Component) (corev1.ResourceList, error)
GetResources returns the resource list of the component TODO(xingran): remove the dependency of SynthesizedComponent.ClusterDefName and SynthesizedComponent.ClusterCompDefName in the future
func (*Manager) HasClass ¶ added in v0.8.0
func (r *Manager) HasClass(compType string, classDefRef v1alpha1.ClassDefRef) bool
HasClass returns true if the component has the specified class
func (*Manager) ValidateResources ¶ added in v0.8.0
func (r *Manager) ValidateResources(synthesizedComp *SynthesizedComponent, comp *v1alpha1.Component) error
ValidateResources validates if the resources of the component is invalid TODO(xingran): remove the dependency of SynthesizedComponent.ClusterDefName and SynthesizedComponent.ClusterCompDefName in the future
type MonitorConfig ¶
type SynthesizedComponent ¶
type SynthesizedComponent struct { Namespace string `json:"namespace,omitempty"` ClusterName string `json:"clusterName,omitempty"` ClusterUID string `json:"clusterUID,omitempty"` ClusterGeneration string `json:"clusterGeneration,omitempty"` Comp2CompDefs map[string]string `json:"comp2CompDefs,omitempty"` // {compName: compDefName} Name string `json:"name,omitempty"` // the name of the component without clusterName prefix FullCompName string `json:"fullCompName,omitempty"` // the full name of the component with clusterName prefix CompDefName string `json:"compDefName,omitempty"` // the name of the componentDefinition Replicas int32 `json:"replicas"` PodSpec *corev1.PodSpec `json:"podSpec,omitempty"` VolumeClaimTemplates []corev1.PersistentVolumeClaimTemplate `json:"volumeClaimTemplates,omitempty"` Monitor *MonitorConfig `json:"monitor,omitempty"` EnabledLogs []string `json:"enabledLogs,omitempty"` LogConfigs []v1alpha1.LogConfig `json:"logConfigs,omitempty"` ConfigTemplates []v1alpha1.ComponentConfigSpec `json:"configTemplates,omitempty"` ScriptTemplates []v1alpha1.ComponentTemplateSpec `json:"scriptTemplates,omitempty"` TLSConfig *v1alpha1.TLSConfig `json:"tlsConfig"` ServiceAccountName string `json:"serviceAccountName,omitempty"` // TODO: remove this later ComponentRefEnvs []corev1.EnvVar `json:"componentRefEnvs,omitempty"` ServiceReferences map[string]*v1alpha1.ServiceDescriptor `json:"serviceReferences,omitempty"` TemplateVars map[string]any `json:"templateVars,omitempty"` EnvVars []corev1.EnvVar `json:"envVars,omitempty"` EnvFromSources []corev1.EnvFromSource `json:"envFromSources,omitempty"` RsmTransformPolicy workloads.RsmTransformPolicy `json:"rsmTransformPolicy,omitempty"` Nodes []types.NodeName `json:"nodes,omitempty"` Instances []string `json:"instances,omitempty"` NodesAssignment []workloads.NodeAssignment `json:"nodesAssignment,omitempty"` // The following fields were introduced with the ComponentDefinition and Component API in KubeBlocks version 0.8.0 Roles []v1alpha1.ReplicaRole `json:"roles,omitempty"` Labels map[string]string `json:"labels,omitempty"` UpdateStrategy *v1alpha1.UpdateStrategy `json:"updateStrategy,omitempty"` PolicyRules []rbacv1.PolicyRule `json:"policyRules,omitempty"` LifecycleActions *v1alpha1.ComponentLifecycleActions `json:"lifecycleActions,omitempty"` SystemAccounts []v1alpha1.SystemAccount `json:"systemAccounts,omitempty"` RoleArbitrator *v1alpha1.RoleArbitrator `json:"roleArbitrator,omitempty"` Volumes []v1alpha1.ComponentVolume `json:"volumes,omitempty"` ComponentServices []v1alpha1.ComponentService `json:"componentServices,omitempty"` // TODO(xingran): The following fields will be deprecated after version 0.8.0 and will be replaced with a new data structure. CustomLabelSpecs []v1alpha1.CustomLabelSpec `json:"customLabelSpecs,omitempty"` // The CustomLabelSpecs will be replaced with Labels in the future. Probes *v1alpha1.ClusterDefinitionProbes `json:"probes,omitempty"` // The Probes will be replaced with LifecycleActions.RoleProbe in the future. VolumeTypes []v1alpha1.VolumeTypeSpec `json:"volumeTypes,omitempty"` // The VolumeTypes will be replaced with Volumes in the future. VolumeProtection *v1alpha1.VolumeProtectionSpec `json:"volumeProtection,omitempty"` // The VolumeProtection will be replaced with Volumes in the future. Services []corev1.Service `json:"services,omitempty"` // The Services will be replaced with ComponentServices in the future. StatefulSetWorkload v1alpha1.StatefulSetWorkload `json:"statefulSetWorkload,omitempty"` // The StatefulSetWorkload will be replaced with UpdateStrategy in the future. TLS bool `json:"tls"` // The TLS will be replaced with TLSConfig in the future. // TODO(xingran): The following fields will be deprecated after KubeBlocks version 0.8.0 ClusterDefName string `json:"clusterDefName,omitempty"` // the name of the clusterDefinition ClusterCompDefName string `json:"clusterCompDefName,omitempty"` // the name of the clusterDefinition.Spec.ComponentDefs[*].Name or cluster.Spec.ComponentSpecs[*].ComponentDefRef CharacterType string `json:"characterType,omitempty"` WorkloadType v1alpha1.WorkloadType `json:"workloadType,omitempty"` StatelessSpec *v1alpha1.StatelessSetSpec `json:"statelessSpec,omitempty"` StatefulSpec *v1alpha1.StatefulSetSpec `json:"statefulSpec,omitempty"` ConsensusSpec *v1alpha1.ConsensusSetSpec `json:"consensusSpec,omitempty"` ReplicationSpec *v1alpha1.ReplicationSetSpec `json:"replicationSpec,omitempty"` RSMSpec *v1alpha1.RSMSpec `json:"rsmSpec,omitempty"` HorizontalScalePolicy *v1alpha1.HorizontalScalePolicy `json:"horizontalScalePolicy,omitempty"` // MinAvailable is used to determine whether to create a PDB (Pod Disruption Budget) object. // However, the functionality of PDB should be implemented within the RSM. Therefore, PDB objects are no longer needed in the new API, and the MinAvailable field should be deprecated. // The old MinAvailable field, which is determined based on the deprecated "workloadType" field, is also no longer applicable in the new API. MinAvailable *intstr.IntOrString `json:"minAvailable,omitempty"` }
func BuildSynthesizedComponent ¶ added in v0.8.0
func BuildSynthesizedComponent(reqCtx intctrlutil.RequestCtx, cli client.Reader, cluster *appsv1alpha1.Cluster, compDef *appsv1alpha1.ComponentDefinition, comp *appsv1alpha1.Component) (*SynthesizedComponent, error)
BuildSynthesizedComponent builds a new SynthesizedComponent object, which is a mixture of component-related configs from ComponentDefinition and Component.
func BuildSynthesizedComponent4Generated ¶ added in v0.8.0
func BuildSynthesizedComponent4Generated(reqCtx intctrlutil.RequestCtx, cli client.Reader, cluster *appsv1alpha1.Cluster, comp *appsv1alpha1.Component) (*appsv1alpha1.ComponentDefinition, *SynthesizedComponent, error)
BuildSynthesizedComponent4Generated builds SynthesizedComponent for generated Component which w/o ComponentDefinition.
func BuildSynthesizedComponentWrapper ¶ added in v0.8.0
func BuildSynthesizedComponentWrapper(reqCtx intctrlutil.RequestCtx, cli client.Reader, cluster *appsv1alpha1.Cluster, clusterCompSpec *appsv1alpha1.ClusterComponentSpec) (*SynthesizedComponent, error)
BuildSynthesizedComponentWrapper builds a new SynthesizedComponent object with a given ClusterComponentSpec. TODO: remove this
func BuildSynthesizedComponentWrapper4Test ¶ added in v0.8.0
func BuildSynthesizedComponentWrapper4Test(reqCtx intctrlutil.RequestCtx, cli client.Reader, clusterDef *appsv1alpha1.ClusterDefinition, clusterVer *appsv1alpha1.ClusterVersion, cluster *appsv1alpha1.Cluster, clusterCompSpec *appsv1alpha1.ClusterComponentSpec) (*SynthesizedComponent, error)
BuildSynthesizedComponentWrapper4Test builds a new SynthesizedComponent object with a given ClusterComponentSpec.
Source Files ¶
- affinity_utils.go
- component.go
- component_class_types.go
- component_class_utils.go
- component_definition_convertor.go
- component_fieldref_util.go
- component_post_provision.go
- convertor.go
- job_utils.go
- lorry_utils.go
- monitor_utils.go
- pod_utils.go
- port_utils.go
- rsm_convertor.go
- service_descriptor_utils.go
- service_reference.go
- synthesize_component.go
- type.go
- vars.go
- workload_utils.go