update-kubeconfig does not work when KAS is hosted at a sub-path of the gitlab domain
Checklist
-
I'm using the latest version of the extension (Run glab --version
)- Extension version: 1.36.0
-
Operating system and version: Ubuntu 22.04.3 LTS (in WSL2) -
Gitlab.com or self-managed instance? self-managed -
GitLab version (if self-managed) v16.6.2-ee -
I have performed glab auth status
to check for authentication issues
Summary
When KAS is hosted at a sub-path of the gitlab domain, glab cluster agent update-kubeconfig
does not store the correct path to the k8s-proxy in the kubeconfig file.
For example, if the KAS is hosted at wss://gitlab.example.com/-/kubernetes-agent/
, update-kubeconfig will set the cluster server to https://gitlab.example.com/k8s-proxy
instead of https://gitlab.example.com/-/kubernetes-agent/k8s-proxy
.
Steps to reproduce
Run glab cluster agent update-kubeconfig
to update a kubeconfig file on a self-hosted gitlab instance that uses the default agent server path.
https://docs.gitlab.com/ee/administration/clusters/kas.html#for-linux-package-installations
What is the current bug behavior?
The kubeconfig file is created with https://gitlab.example.com/k8s-proxy
set as the cluster server.
What is the expected correct behavior?
The kubeconfig file should set the cluster server to https://gitlab.example.com/-/kubernetes-agent/k8s-proxy
.
Possible fixes
constructKasProxyURL should be updated to prepend the glKasHost.Path to the kasProxyEndpoint.