INNER CODE UNIT · Go
BuildUpgradeStepConfig
kubesphere/kubekey · builtin/core/upgrade_path.go:224
func BuildUpgradeStepConfig(vfs fs.FS, base map[string]interface{}, kubeVersion string, isFinal bool) (map[string]interface{}, error) {
cfg := runtime.DeepCopyJSON(base)
if err := unstructured.SetNestedField(cfg, kubeVersion, "kubernetes", "kube_version"); err != nil {
return nil, fmt.Errorf("set step kube_version %q: %w", kubeVersion, err)
}
if isFinal {
return cfg, nil
}
minor, err := MinorOfVersion(kubeVersion)
if err != nil {
return nil, fmt.Errorf("parse intermediate kube_version %q: %w", kubeVersion, err)
}
overlay, err := UpgradeVersionOverlay(vfs, minor)
if err != nil {
return nil, err
}
cfg = combineConfigMaps(cfg, overlay)
return cfg, nil