func setStageLabel()

in pkg/objectmodifier/stage.go [80:105]


func setStageLabel(ctx context.Context, stage *cdPipeApi.Stage) (bool, error) {
	log := ctrl.LoggerFrom(ctx)

	log.Info("Trying to update labels for stage")

	if stage == nil {
		return false, errors.New("failed to update stage labels: stage is nil")
	}

	labels := stage.GetLabels()
	if labels == nil {
		labels = make(map[string]string)
	}

	if _, ok := labels[cdPipeApi.StageCdPipelineLabelName]; ok {
		log.Info("Stage already has label", "label", cdPipeApi.StageCdPipelineLabelName)
		return false, nil
	}

	labels[cdPipeApi.StageCdPipelineLabelName] = stage.Spec.CdPipeline
	stage.SetLabels(labels)

	log.Info("Stage labels were updated", "labels", labels)

	return true, nil
}