func()

in internal/resource/secondarystatefulset.go [33:53]


func (builder SecondaryStatefulSetBuilder) Update(object client.Object) error {
	var idx int
	secondaryNodeList := builder.Instance.Spec.SecondaryNodes
	if idx = builder.getNodeIndex(object, secondaryNodeList); idx == -1 {
		return fmt.Errorf("failed to update object: %w", errors.New("the specified Statefulset does not exist: "+object.GetName()))
	}
	desired := secondaryNodeList[idx]

	statefulSpec := object.(*v1.StatefulSet)

	ConfigureStatefulSet(builder.Instance, desired, statefulSpec)
	var container v12.Container
	ConfigureContainer(builder.Instance, desired, &container)

	statefulSpec.Spec.Template.Spec.Containers = []v12.Container{container}

	if err := controllerutil.SetControllerReference(builder.Instance, statefulSpec, builder.Scheme); err != nil {
		return fmt.Errorf("failed setting controller reference: %w", err)
	}
	return nil
}