INNER CODE UNIT · Go
steps
kubesphere/kubekey · builtin/core/upgrade_path.go:107
steps := make([]string, 0, targetMinor-currentMinor)
for m := currentMinor + 1; m < targetMinor; m++ {
patch, ok := path[m]
if !ok {
return nil, fmt.Errorf("kube_upgrade_path has no entry for minor v1.%d; cannot auto-step", m)
}
steps = append(steps, patch)
}
steps = append(steps, requestedTarget)
return steps, nil
}
// upgradeVersionFieldPaths lists the nested config paths that carry a per-minor
// "version info" value. They mirror the version pins defined in
// roles/defaults/vars/v1.{m}.yaml (helm/sandbox/etcd/cri/cni/dns/storage/registry
// versions). This is the ALLOW-LIST used to construct an explicit intermediate-hop
// version overlay from that embedded vars file: for each intermediate hop we read
// the value of every listed path from roles/defaults/vars/v1.{hop}.yaml and SET it