INNER CODE UNIT · Go
merged
kubesphere/kubekey · builtin/core/upgrade_path.go:57
merged := make(map[string]string, len(def)+len(cur))
for k, v := range cur {
merged[k] = v
}
for minor, patch := range def {
key := fmt.Sprintf("v1.%d", minor)
if _, ok := merged[key]; !ok {
merged[key] = patch
}
}
return unstructured.SetNestedStringMap(cfg, merged, "cluster_require", "kube_upgrade_path")
}
// EffectiveKubeUpgradePath returns the live upgrade path carried in the config's
// cluster_require.kube_upgrade_path, which MergeKubeUpgradePathDefaults has already
// seeded with the Go defaults and which a user may have overridden via config file
// or --set.
func EffectiveKubeUpgradePath(cfg map[string]interface{}) (KubeUpgradePath, error) {