builder

package
v0.6.0-beta.4 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2023 License: AGPL-3.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VolumeName = "tls"
	CAName     = "ca.crt"
	CertName   = "tls.crt"
	KeyName    = "tls.key"
	MountPath  = "/etc/pki/tls"
)

Variables

This section is empty.

Functions

func BuildBackup

func BuildBackup(cluster *appsv1alpha1.Cluster,
	component *component.SynthesizedComponent,
	backupPolicyName string,
	backupKey types.NamespacedName,
	backupType string) (*dataprotectionv1alpha1.Backup, error)

func BuildBackupManifestsJob

func BuildBackupManifestsJob(key types.NamespacedName, backup *dataprotectionv1alpha1.Backup, podSpec *corev1.PodSpec) (*batchv1.Job, error)

func BuildCfgManagerContainer

func BuildCfgManagerContainer(sidecarRenderedParam *cfgcm.CfgManagerBuildParams, component *component.SynthesizedComponent) (*corev1.Container, error)

func BuildCfgManagerToolsContainer added in v0.6.0

func BuildCfgManagerToolsContainer(sidecarRenderedParam *cfgcm.CfgManagerBuildParams, component *component.SynthesizedComponent, toolsMetas []appsv1alpha1.ToolConfig) ([]corev1.Container, error)

func BuildConfigMapWithTemplate

func BuildConfigMapWithTemplate(cluster *appsv1alpha1.Cluster,
	component *component.SynthesizedComponent,
	configs map[string]string,
	cmName string,
	configConstraintName string,
	configTemplateSpec appsv1alpha1.ComponentTemplateSpec) (*corev1.ConfigMap, error)

func BuildConnCredential

func BuildConnCredential(clusterDefinition *appsv1alpha1.ClusterDefinition, cluster *appsv1alpha1.Cluster,
	component *component.SynthesizedComponent) (*corev1.Secret, error)

func BuildDeploy

func BuildDeploy(reqCtx intctrlutil.RequestCtx, cluster *appsv1alpha1.Cluster, component *component.SynthesizedComponent, envConfigName string) (*appsv1.Deployment, error)

func BuildEnvConfig

func BuildEnvConfig(cluster *appsv1alpha1.Cluster, component *component.SynthesizedComponent) (*corev1.ConfigMap, error)

BuildEnvConfig builds cluster component context ConfigMap object, which is to be used in workload container's envFrom.configMapRef with name of "$(cluster.metadata.name)-$(component.name)-env" pattern.

func BuildHeadlessSvc

func BuildHeadlessSvc(cluster *appsv1alpha1.Cluster, component *component.SynthesizedComponent) (*corev1.Service, error)

func BuildPVC added in v0.6.0

func BuildPersistentVolumeClaimLabels

func BuildPersistentVolumeClaimLabels(component *component.SynthesizedComponent, pvc *corev1.PersistentVolumeClaim,
	pvcTplName string)

BuildPersistentVolumeClaimLabels builds a pvc name label, and synchronize the labels from sts to pvc.

func BuildRestoreJob added in v0.6.0

func BuildRestoreJob(cluster *appsv1alpha1.Cluster, synthesizedComponent *component.SynthesizedComponent, name, image string, command []string,
	volumes []corev1.Volume, volumeMounts []corev1.VolumeMount, env []corev1.EnvVar, resources *corev1.ResourceRequirements) (*batchv1.Job, error)

func BuildRoleBinding added in v0.6.0

func BuildRoleBinding(cluster *appsv1alpha1.Cluster) (*rbacv1.RoleBinding, error)

func BuildServiceAccount added in v0.6.0

func BuildServiceAccount(cluster *appsv1alpha1.Cluster) (*corev1.ServiceAccount, error)

func BuildSts

func BuildSts(reqCtx intctrlutil.RequestCtx, cluster *appsv1alpha1.Cluster,
	component *component.SynthesizedComponent, envConfigName string) (*appsv1.StatefulSet, error)

func BuildSvcList

func BuildSvcList(cluster *appsv1alpha1.Cluster, component *component.SynthesizedComponent) ([]*corev1.Service, error)

func BuildSvcListWithCustomAttributes added in v0.6.0

func BuildSvcListWithCustomAttributes(cluster *appsv1alpha1.Cluster, component *component.SynthesizedComponent,
	customAttributeSetter func(*corev1.Service)) ([]*corev1.Service, error)

func BuildVolumeSnapshotClass added in v0.6.0

func BuildVolumeSnapshotClass(name string, driver string) (*snapshotv1.VolumeSnapshotClass, error)

func WithMap added in v0.6.0

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

Types

type BaseBuilder added in v0.6.0

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

func (*BaseBuilder[T, PT, B]) AddAnnotations added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) AddAnnotations(keysAndValues ...string) *B

func (*BaseBuilder[T, PT, B]) AddAnnotationsInMap added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) AddAnnotationsInMap(annotations map[string]string) *B

func (*BaseBuilder[T, PT, B]) AddControllerRevisionHashLabel added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) AddControllerRevisionHashLabel(value string) *B

func (*BaseBuilder[T, PT, B]) AddFinalizers added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) AddFinalizers(finalizers []string) *B

func (*BaseBuilder[T, PT, B]) AddLabels added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) AddLabels(keysAndValues ...string) *B

func (*BaseBuilder[T, PT, B]) AddLabelsInMap added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) AddLabelsInMap(labels map[string]string) *B

func (*BaseBuilder[T, PT, B]) GetObject added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) GetObject() PT

func (*BaseBuilder[T, PT, B]) SetName added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) SetName(name string) *B

func (*BaseBuilder[T, PT, B]) SetOwnerReferences added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) SetOwnerReferences(ownerAPIVersion string, ownerKind string, owner client.Object) *B

func (*BaseBuilder[T, PT, B]) SetUID added in v0.6.0

func (builder *BaseBuilder[T, PT, B]) SetUID(uid types.UID) *B

type ConfigMapBuilder added in v0.6.0

type ConfigMapBuilder struct {
	BaseBuilder[corev1.ConfigMap, *corev1.ConfigMap, ConfigMapBuilder]
}

func NewConfigMapBuilder added in v0.6.0

func NewConfigMapBuilder(namespace, name string) *ConfigMapBuilder

func (*ConfigMapBuilder) PutBinaryData added in v0.6.0

func (builder *ConfigMapBuilder) PutBinaryData(key string, value []byte) *ConfigMapBuilder

func (*ConfigMapBuilder) PutData added in v0.6.0

func (builder *ConfigMapBuilder) PutData(key, value string) *ConfigMapBuilder

func (*ConfigMapBuilder) SetBinaryData added in v0.6.0

func (builder *ConfigMapBuilder) SetBinaryData(binaryData map[string][]byte) *ConfigMapBuilder

func (*ConfigMapBuilder) SetData added in v0.6.0

func (builder *ConfigMapBuilder) SetData(data map[string]string) *ConfigMapBuilder

func (*ConfigMapBuilder) SetImmutable added in v0.6.0

func (builder *ConfigMapBuilder) SetImmutable(immutable bool) *ConfigMapBuilder

type EventBuilder added in v0.6.0

type EventBuilder struct {
	BaseBuilder[corev1.Event, *corev1.Event, EventBuilder]
}

func NewEventBuilder added in v0.6.0

func NewEventBuilder(namespace, name string) *EventBuilder

func (*EventBuilder) SetInvolvedObject added in v0.6.0

func (builder *EventBuilder) SetInvolvedObject(objectRef corev1.ObjectReference) *EventBuilder

func (*EventBuilder) SetMessage added in v0.6.0

func (builder *EventBuilder) SetMessage(message string) *EventBuilder

func (*EventBuilder) SetReason added in v0.6.0

func (builder *EventBuilder) SetReason(reason string) *EventBuilder

func (*EventBuilder) SetType added in v0.6.0

func (builder *EventBuilder) SetType(tp string) *EventBuilder

type JobBuilder added in v0.6.0

type JobBuilder struct {
	BaseBuilder[batchv1.Job, *batchv1.Job, JobBuilder]
}

func NewJobBuilder added in v0.6.0

func NewJobBuilder(namespace, name string) *JobBuilder

func (*JobBuilder) AddSelector added in v0.6.0

func (builder *JobBuilder) AddSelector(key, value string) *JobBuilder

func (*JobBuilder) SetPodTemplateSpec added in v0.6.0

func (builder *JobBuilder) SetPodTemplateSpec(template corev1.PodTemplateSpec) *JobBuilder

func (*JobBuilder) SetSuspend added in v0.6.0

func (builder *JobBuilder) SetSuspend(suspend bool) *JobBuilder

type PVCBuilder added in v0.6.0

func NewPVCBuilder added in v0.6.0

func NewPVCBuilder(namespace, name string) *PVCBuilder

func (*PVCBuilder) SetResources added in v0.6.0

func (builder *PVCBuilder) SetResources(resources corev1.ResourceRequirements) *PVCBuilder

type PodBuilder added in v0.6.0

type PodBuilder struct {
	BaseBuilder[corev1.Pod, *corev1.Pod, PodBuilder]
}

func NewPodBuilder added in v0.6.0

func NewPodBuilder(namespace, name string) *PodBuilder

func (*PodBuilder) AddContainer added in v0.6.0

func (builder *PodBuilder) AddContainer(container corev1.Container) *PodBuilder

func (*PodBuilder) SetContainers added in v0.6.0

func (builder *PodBuilder) SetContainers(containers []corev1.Container) *PodBuilder

type ReplicatedStateMachineBuilder added in v0.6.0

func NewReplicatedStateMachineBuilder added in v0.6.0

func NewReplicatedStateMachineBuilder(namespace, name string) *ReplicatedStateMachineBuilder

func (*ReplicatedStateMachineBuilder) AddObservationAction added in v0.6.0

func (builder *ReplicatedStateMachineBuilder) AddObservationAction(action workloads.Action) *ReplicatedStateMachineBuilder

func (*ReplicatedStateMachineBuilder) SetCredential added in v0.6.0

func (*ReplicatedStateMachineBuilder) SetMembershipReconfiguration added in v0.6.0

func (builder *ReplicatedStateMachineBuilder) SetMembershipReconfiguration(reconfiguration workloads.MembershipReconfiguration) *ReplicatedStateMachineBuilder

func (*ReplicatedStateMachineBuilder) SetObservationActions added in v0.6.0

func (builder *ReplicatedStateMachineBuilder) SetObservationActions(actions []workloads.Action) *ReplicatedStateMachineBuilder

func (*ReplicatedStateMachineBuilder) SetReplicas added in v0.6.0

func (builder *ReplicatedStateMachineBuilder) SetReplicas(replicas int32) *ReplicatedStateMachineBuilder

func (*ReplicatedStateMachineBuilder) SetRoles added in v0.6.0

func (*ReplicatedStateMachineBuilder) SetService added in v0.6.0

func (*ReplicatedStateMachineBuilder) SetTemplate added in v0.6.0

type SecretBuilder added in v0.6.0

type SecretBuilder struct {
	BaseBuilder[corev1.Secret, *corev1.Secret, SecretBuilder]
}

func NewSecretBuilder added in v0.6.0

func NewSecretBuilder(namespace, name string) *SecretBuilder

func (*SecretBuilder) PutData added in v0.6.0

func (builder *SecretBuilder) PutData(key string, value []byte) *SecretBuilder

func (*SecretBuilder) PutStringData added in v0.6.0

func (builder *SecretBuilder) PutStringData(key, value string) *SecretBuilder

func (*SecretBuilder) SetData added in v0.6.0

func (builder *SecretBuilder) SetData(binaryData map[string][]byte) *SecretBuilder

func (*SecretBuilder) SetImmutable added in v0.6.0

func (builder *SecretBuilder) SetImmutable(immutable bool) *SecretBuilder

func (*SecretBuilder) SetSecretType added in v0.6.0

func (builder *SecretBuilder) SetSecretType(secretType corev1.SecretType) *SecretBuilder

func (*SecretBuilder) SetStringData added in v0.6.0

func (builder *SecretBuilder) SetStringData(data map[string]string) *SecretBuilder

type ServiceBuilder added in v0.6.0

type ServiceBuilder struct {
	BaseBuilder[corev1.Service, *corev1.Service, ServiceBuilder]
}

func NewHeadlessServiceBuilder added in v0.6.0

func NewHeadlessServiceBuilder(namespace, name string) *ServiceBuilder

func NewServiceBuilder added in v0.6.0

func NewServiceBuilder(namespace, name string) *ServiceBuilder

func (*ServiceBuilder) AddContainerPorts added in v0.6.0

func (builder *ServiceBuilder) AddContainerPorts(ports ...corev1.ContainerPort) *ServiceBuilder

func (*ServiceBuilder) AddPorts added in v0.6.0

func (builder *ServiceBuilder) AddPorts(ports ...corev1.ServicePort) *ServiceBuilder

func (*ServiceBuilder) AddSelector added in v0.6.0

func (builder *ServiceBuilder) AddSelector(key, value string) *ServiceBuilder

func (*ServiceBuilder) AddSelectors added in v0.6.0

func (builder *ServiceBuilder) AddSelectors(keyValues ...string) *ServiceBuilder

func (*ServiceBuilder) AddSelectorsInMap added in v0.6.0

func (builder *ServiceBuilder) AddSelectorsInMap(keyValues map[string]string) *ServiceBuilder

func (*ServiceBuilder) SetType added in v0.6.0

func (builder *ServiceBuilder) SetType(serviceType corev1.ServiceType) *ServiceBuilder

type StatefulSetBuilder added in v0.6.0

type StatefulSetBuilder struct {
	BaseBuilder[apps.StatefulSet, *apps.StatefulSet, StatefulSetBuilder]
}

func NewStatefulSetBuilder added in v0.6.0

func NewStatefulSetBuilder(namespace, name string) *StatefulSetBuilder

func (*StatefulSetBuilder) AddMatchLabel added in v0.6.0

func (builder *StatefulSetBuilder) AddMatchLabel(key, value string) *StatefulSetBuilder

func (*StatefulSetBuilder) AddMatchLabels added in v0.6.0

func (builder *StatefulSetBuilder) AddMatchLabels(keyValues ...string) *StatefulSetBuilder

func (*StatefulSetBuilder) AddMatchLabelsInMap added in v0.6.0

func (builder *StatefulSetBuilder) AddMatchLabelsInMap(labels map[string]string) *StatefulSetBuilder

func (*StatefulSetBuilder) AddVolumeClaimTemplates added in v0.6.0

func (builder *StatefulSetBuilder) AddVolumeClaimTemplates(templates ...corev1.PersistentVolumeClaim) *StatefulSetBuilder

func (*StatefulSetBuilder) SetMinReadySeconds added in v0.6.0

func (builder *StatefulSetBuilder) SetMinReadySeconds(minReadySeconds int32) *StatefulSetBuilder

func (*StatefulSetBuilder) SetPodManagementPolicy added in v0.6.0

func (builder *StatefulSetBuilder) SetPodManagementPolicy(policy apps.PodManagementPolicyType) *StatefulSetBuilder

func (*StatefulSetBuilder) SetReplicas added in v0.6.0

func (builder *StatefulSetBuilder) SetReplicas(replicas int32) *StatefulSetBuilder

func (*StatefulSetBuilder) SetServiceName added in v0.6.0

func (builder *StatefulSetBuilder) SetServiceName(serviceName string) *StatefulSetBuilder

func (*StatefulSetBuilder) SetTemplate added in v0.6.0

func (builder *StatefulSetBuilder) SetTemplate(template corev1.PodTemplateSpec) *StatefulSetBuilder

func (*StatefulSetBuilder) SetUpdateStrategyType added in v0.6.0

func (builder *StatefulSetBuilder) SetUpdateStrategyType(strategyType apps.StatefulSetUpdateStrategyType) *StatefulSetBuilder

func (*StatefulSetBuilder) SetVolumeClaimTemplates added in v0.6.0

func (builder *StatefulSetBuilder) SetVolumeClaimTemplates(templates ...corev1.PersistentVolumeClaim) *StatefulSetBuilder

Jump to

Keyboard shortcuts

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