// GetServerSupportedSMPatchVersion takes a discoveryClient, // returns the max StrategicMergePatch version supported func GetServerSupportedSMPatchVersion(discoveryClient discovery.DiscoveryInterface) (StrategicMergePatchVersion, error) { serverVersion, err := discoveryClient.ServerVersion() if err != nil { return Unknown, err } serverGitVersion := serverVersion.GitVersion if serverGitVersion >= string(SMPatchVersion_1_5) { return SMPatchVersion_1_5, nil } if serverGitVersion >= string(SMPatchVersion_1_0) { return SMPatchVersion_1_0, nil } return Unknown, fmt.Errorf("The version is too old: %v\n", serverVersion) }