kubernetes/kops · error

KubernetesPath::RemoveAll not supported

Error message

KubernetesPath::RemoveAll not supported

What it means

Hard guard: recursive removal is not implemented for k8s:// VFS paths, so KubernetesPath.RemoveAll unconditionally returns this error. The Kubernetes API has no recursive-delete semantic over the VFS key space, so any caller that walks a k8s tree and tries to purge it via VFS always fails here.

Source

Thrown at util/pkg/vfs/k8sfs.go:75

func (p *KubernetesPath) Host() string {
	return p.host
}

func (p *KubernetesPath) Key() string {
	return p.key
}

func (p *KubernetesPath) String() string {
	return p.Path()
}

func (p *KubernetesPath) Remove(ctx context.Context) error {
	return fmt.Errorf("KubernetesPath::Remove not supported")
}

func (p *KubernetesPath) RemoveAll(ctx context.Context) error {
	return fmt.Errorf("KubernetesPath::RemoveAll not supported")
}

func (p *KubernetesPath) RemoveAllVersions(ctx context.Context) error {
	return p.Remove(ctx)
}

func (p *KubernetesPath) Join(relativePath ...string) Path {
	args := []string{p.key}
	args = append(args, relativePath...)
	joined := path.Join(args...)
	return &KubernetesPath{
		k8sContext: p.k8sContext,
		host:       p.host,
		key:        joined,
	}
}

func (p *KubernetesPath) WriteFile(ctx context.Context, data io.ReadSeeker, acl ACL) error {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Enumerate objects via the Kubernetes API and delete them individually with client-go
  2. Avoid routing delete operations at k8s:// paths; guard callers on the path scheme
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at util/pkg/vfs/k8sfs.go:75 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/721bb872cfd99097. Report an issue: GitHub.