func validateJobSpec()

in internal/utils/controller/appdeployment_validate.go [30:48]


func validateJobSpec(ap *v1alpha1.AppDeployment) error {
	if equality.Semantic.DeepEqual(ap.Spec, v1alpha1.AppDeploymentSpec{}) {
		return errors.New("spec of appdeployment is nil")
	}
	// provision job must be present
	if equality.Semantic.DeepEqual(ap.Spec.Provision, batchv1.JobSpec{}) {
		return errors.New("provision job is nil")
	}
	if jobConstraint(ap.Spec.Provision) != nil {
		return fmt.Errorf("provision: %w", jobConstraint(ap.Spec.Provision))
	}
	// teardown job is optional
	if !equality.Semantic.DeepEqual(ap.Spec.Teardown, batchv1.JobSpec{}) {
		if jobConstraint(ap.Spec.Teardown) != nil {
			return fmt.Errorf("teardown: %w", jobConstraint(ap.Spec.Teardown))
		}
	}
	return nil
}