func()

in pkg/webhook/injection.go [43:64]


func (si *SidecarInjector) injectAsNativeSidecar(pod *corev1.Pod) (bool, error) {
	supportsNativeSidecar, err := si.supportsNativeSidecar()
	if err != nil {
		return false, fmt.Errorf("failed to determine native sidecar injection: %w", err)
	}

	nativeSidecarEnabled := true
	if enable, ok := pod.Annotations[GcsFuseNativeSidecarEnableAnnotation]; ok {
		parsedAnnotation, err := ParseBool(enable)
		if err != nil {
			klog.Errorf("failed to parse enableNativeSidecar annotation: %v", err)
		} else {
			nativeSidecarEnabled = parsedAnnotation
			// Warn the user if they used annotation incorrectly.
			if nativeSidecarEnabled && !supportsNativeSidecar {
				klog.Errorf("attempting to enable native sidecar on a cluster that does not support it, this is not allowed")
			}
		}
	}

	return nativeSidecarEnabled && supportsNativeSidecar, nil
}