Why exec-based kubeconfig auth fails
DevOpsPad does not run kubeconfig exec plugins. If the context’s user has an exec section, connecting fails with “Exec-based kubeconfig authentication is not supported yet; use a token or client certificate”. In the connection dialog such contexts are labeled (exec auth unsupported).
Contexts that authenticate with a bearer token or a client certificate and key work normally.
How to tell if a context uses exec
Look at the users entry the context refers to. An exec-based user looks like this:
users:
- name: my-cloud-user
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
command: some-cloud-cli
args: ["get-token", "--cluster", "prod"]
Managed Kubernetes services often generate kubeconfig entries like this, calling their CLI to fetch a short-lived token.
Why DevOpsPad does not run them
An exec plugin is an arbitrary program run with your user’s permissions every time a token is needed. DevOpsPad reads kubeconfig files without executing anything: listing contexts never runs a plugin, and connection metadata never includes credentials. Running plugins safely from a desktop app (prompts, timeouts, which binaries to trust) is not implemented yet.
Workarounds
- Use a K3s or self-managed cluster kubeconfig. K3s writes a client-certificate kubeconfig at
/etc/rancher/k3s/k3s.yamlon the server. Copy it to your machine, changeserver:to an address you can reach (or use an SSH tunnel), and point DevOpsPad at it. - Create a service account token. Create a service account with a read-only Role (see Kubernetes permissions DevOpsPad needs), issue a token, and put it in a separate kubeconfig with a
token:user. Keep that file outside shared folders. - Use a client certificate issued by your cluster’s CA if your platform supports it.
Whichever you choose, keep the kubeconfig file private: DevOpsPad reads credentials from that file at connection time and does not copy them into its own storage.
Related limits
- One context per connection; add a connection per cluster.
- Proxy settings in the kubeconfig or environment are bypassed when the connection uses an SSH tunnel.
Frequently asked questions
Will exec-based authentication be supported?
It is listed as not available yet. Until then, use a context that authenticates with a bearer token or a client certificate.