The velero CLI can not find any kubeconfig - it checks --kubeconfig, then $KUBECONFIG, then ~/.kube/config, and found nothing. This is the client failing before it ever talks to the cluster. Point it at a real config (export KUBECONFIG or --kubeconfig) and the command works.

## The error
```text
invalid configuration: no configuration has been provided
```

## What to do
1. Check the resolution chain:
```bash
echo "KUBECONFIG=$KUBECONFIG"
ls -la ~/.kube/config
```
   Expected: Shows nothing resolvable.
2. Point at the real config:
```bash
export KUBECONFIG=/path/to/config
velero backup get
```
   Expected: Command works.
3. Or pass it per invocation:
```bash
velero --kubeconfig /path/to/config backup get
```
   Expected: Same result without the env var.

## When this applies
- the exact invalid configuration: no configuration has been provided message
- fresh machines, CI runners, containers without kubeconfig
- sudo dropping KUBECONFIG

## When it does NOT apply
- NoCredentialProviders (server-side cloud credentials, different fix)
- backups stuck in New (server not running)

## Works with
velero CLI 1.x

### kubectl failing the same way on the same machine
Same missing file. Fix it once and both CLIs work.

## Why it happens
The velero CLI is a Kubernetes client like kubectl and resolves its config the same way. With no file anywhere in the chain, client construction fails before any API call.

## Edge cases
- In-cluster, the velero server uses a ServiceAccount, not a kubeconfig - this error is CLI-only.
- KUBECONFIG with a typo'd path fails the same way; the chain does not warn which entry was wrong.

## Resolved from
gh:aliyuncontainerservice/velero (debugging-install) - https://github.com/aliyuncontainerservice/velero/blob/HEAD/site/docs/master/debugging-install.md