func()

in pkg/webhook/nexusrepository_webhook.go [43:68]


func (*NexusRepositoryValidationWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) error {
	req, err := admission.RequestFromContext(ctx)
	if err != nil {
		return apierrors.NewBadRequest(fmt.Errorf("expected admission.Request in ctx: %w", err).Error())
	}

	log := ctrl.LoggerFrom(ctx).WithName("nexus_repository_validation_webhook").
		WithValues("name", req.Name, "namespace", req.Namespace)

	log.Info("Validate create")

	createdNexusRepository, ok := obj.(*nexusApi.NexusRepository)
	if !ok {
		log.Info("The wrong object given, skipping validation")

		return nil
	}

	if err = validateCreate(&createdNexusRepository.Spec); err != nil {
		return apierrors.NewBadRequest(
			fmt.Errorf("object NexusRepository %s is invalid: %w", createdNexusRepository.Name, err).Error(),
		)
	}

	return nil
}