argoproj/argo-workflows · error

failure to create kubernetes client: %w

Error message

failure to create kubernetes client: %w

What it means

DefaultClientForAuthorization failed to build the core Kubernetes clientset (kubernetes.NewForConfig) from the derived rest.Config — the last client-initialization step before the Clients struct can be returned.

Source

Thrown at server/auth/gatekeeper.go:362

	if err != nil {
		return nil, nil, fmt.Errorf("failed to create REST config: %w", err)
	}
	restConfig = mergeServerRestConfig(config, restConfig)
	dynamicClient, err := dynamic.NewForConfig(restConfig)
	if err != nil {
		return nil, nil, fmt.Errorf("failure to create dynamic client: %w", err)
	}
	wfClient, err := workflow.NewForConfig(restConfig)
	if err != nil {
		return nil, nil, fmt.Errorf("failure to create workflow client: %w", err)
	}
	eventsClient, err := events.NewForConfig(restConfig)
	if err != nil {
		return nil, nil, fmt.Errorf("failure to create events client: %w", err)
	}
	kubeClient, err := kubernetes.NewForConfig(restConfig)
	if err != nil {
		return nil, nil, fmt.Errorf("failure to create kubernetes client: %w", err)
	}
	return restConfig, &servertypes.Clients{
		Dynamic:    dynamicClient,
		Workflow:   wfClient,
		Events:     eventsClient,
		Kubernetes: kubeClient,
	}, nil
}

func mergeServerRestConfig(argoServerConfig *rest.Config, newConfig *rest.Config) *rest.Config {
	newConfig.Burst = argoServerConfig.Burst
	newConfig.QPS = argoServerConfig.QPS
	newConfig.UserAgent = argoServerConfig.UserAgent
	// TO DO: Merge other common configurations,such as RateLimiter.
	return newConfig
}

View on GitHub (pinned to 35bff19146)

Solutions

  1. Inspect the wrapped client-go error
  2. Verify kubeconfig endpoint and certificate data on the server
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/auth/gatekeeper.go:362 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of argoproj/argo-workflows@35bff19146 (2026-09-03). Data as JSON: /api/errors/f67a5c6bdf90ce55. Report an issue: GitHub.