kdc: verify install.sh --reset converges to a working cross-realm trust

Fix _deployment_mode_hint() to correctly map cluster_env=service → k3s
mode. Previously 'service' was not handled in the normalized_env checks,
causing fallthrough to build.deploy_env='Dev' → mode='dev' → k3d
dependency required. On a k3s node (myrddin/merlin/gandalf) k3d is not
installed and the DependenciesMilestone fatally aborted the install.

Also fix get_required_dependency_ids(): k3s mode does not require k3d
(k3s is provisioned on the cluster nodes by Ansible, not by the
installer binary).

Fixes: install.sh --mode k3s --reset failing with
  'Dependencies unresolved after install attempts. Required: k3d'

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
chrisfu 2026-05-11 02:33:38 -07:00
parent d6586cf1d9
commit 6f99f95f84

View File

@ -1398,8 +1398,12 @@ def _deployment_mode_hint(inputs: dict | None = None) -> str:
if normalized_env in {"prod", "production", "k8s"}:
return "gke"
if normalized_env in {"dev", "k3d", "k3s"}:
if normalized_env in {"dev", "k3d"}:
return normalized_env
if normalized_env == "service":
return "k3s"
if normalized_env == "k3s":
return "k3s"
deployment_mode = str(
data.get("build.deploy_env")
@ -1431,8 +1435,10 @@ def get_required_dependency_ids(inputs: dict | None = None) -> set[str]:
):
required.add("gke-gcloud-auth-plugin")
return required
if mode in {"dev", "k3d", "k3s"}:
if mode in {"dev", "k3d"}:
return base_required | {"k3d"}
if mode == "k3s":
return base_required
return base_required