in credentialproviderpackage/pkg/configurator/bottlerocket/bottlerocket.go [205:250]
func (b *bottleRocket) isSupportedBRVersion() (bool, error) {
allowedVersions := "v1.11.0"
req, err := http.NewRequest(http.MethodGet, b.baseURL, nil)
if err != nil {
return false, err
}
q := req.URL.Query()
q.Add("prefix", "os")
req.URL.RawQuery = q.Encode()
respGet, err := b.client.Do(req)
if err != nil {
return false, err
}
defer respGet.Body.Close()
if respGet.StatusCode != http.StatusOK {
return false, fmt.Errorf("failed GET request: %s", respGet.Status)
}
valueBody, err := ioutil.ReadAll(respGet.Body)
if err != nil {
return false, err
}
osVersion := brVersion{}
err = json.Unmarshal(valueBody, &osVersion)
if err != nil {
return false, err
}
// Check if BR k8s version is 1.25 or greater. If so we will update allowedVersions to be >1.13.0
if osVersion.Os.VariantID != "" {
variants := strings.Split(osVersion.Os.VariantID, "-")
variantSemVar := "v" + variants[len(variants)-1]
if semver.Compare(variantSemVar, "v1.25") >= 0 {
allowedVersions = "v1.13.0"
}
}
ver := "v" + osVersion.Os.VersionID
valid := semver.Compare(ver, allowedVersions)
return valid > 0, nil
}