INNER CODE UNIT · Go

MergeKubeUpgradePathDefaults

kubesphere/kubekey · builtin/core/upgrade_path.go:52

func MergeKubeUpgradePathDefaults(cfg map[string]interface{}, def KubeUpgradePath) error {
	cur, _, err := unstructured.NestedStringMap(cfg, "cluster_require", "kube_upgrade_path")
	if err != nil {
		return fmt.Errorf("read cluster_require.kube_upgrade_path from config: %w", err)
	}
	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")
}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…