From be982975383ecddd5855ec71f9e0f5648e9d4b2c Mon Sep 17 00:00:00 2001 From: ddelpiano Date: Wed, 21 Jan 2026 12:45:28 +0100 Subject: [PATCH] some fixes due to values.yaml generated not picking up the correct localIp --- tools/deployment-cli-tools/ch_cli_tools/helm.py | 2 +- tools/deployment-cli-tools/ch_cli_tools/utils.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tools/deployment-cli-tools/ch_cli_tools/helm.py b/tools/deployment-cli-tools/ch_cli_tools/helm.py index 8e4f90ba..5d026bea 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/helm.py +++ b/tools/deployment-cli-tools/ch_cli_tools/helm.py @@ -109,7 +109,7 @@ def __finish_helm_values(self, values): values['local'] = self.local if self.local: try: - values['localIp'] = get_cluster_ip() + values['localIp'] = get_cluster_ip(local=True) except subprocess.TimeoutExpired: logging.warning("Minikube not available") except: diff --git a/tools/deployment-cli-tools/ch_cli_tools/utils.py b/tools/deployment-cli-tools/ch_cli_tools/utils.py index 5ca9315c..f5af29af 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/utils.py +++ b/tools/deployment-cli-tools/ch_cli_tools/utils.py @@ -94,6 +94,17 @@ def env_variable(name, value): def get_cluster_ip(local=False): if local: + # Try to get LoadBalancer IP from ingress-nginx first (preferred for local dev with minikube tunnel) + try: + out = subprocess.check_output([ + 'kubectl', '-n', 'ingress-nginx', 'get', 'svc', 'ingress-nginx-controller', + '-o', 'jsonpath={.status.loadBalancer.ingress[0].ip}' + ], timeout=5).decode("utf-8").strip() + if out and out != '': + return out + except: + pass + # Try minikube with profile detection for local development try: # Get current kubectl context to extract minikube profile