argoproj/argo-workflows · error

failed to create REST config: %w

Error message

failed to create REST config: %w

What it means

DefaultClientForAuthorization failed at its first step: kubeconfig.GetRestConfig could not turn the caller's Authorization header into a Kubernetes rest.Config (bad basic-auth token or unsupported scheme). Per-request client construction aborts.

Source

Thrown at server/auth/gatekeeper.go:345

	}
	return "Bearer " + string(secret.Data["token"]), nil
}

func addClaimsLogFields(claims *authTypes.Claims, fields logging.Fields) logging.Fields {
	if fields == nil {
		fields = logging.Fields{}
	}
	fields["subject"] = claims.Subject
	if claims.Email != "" {
		fields["email"] = claims.Email
	}
	return fields
}

func DefaultClientForAuthorization(authorization string, config *rest.Config) (*rest.Config, *servertypes.Clients, error) {
	restConfig, err := kubeconfig.GetRestConfig(authorization)
	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)
	}

View on GitHub (pinned to 35bff19146)

Solutions

  1. Send a valid Bearer token or correctly base64-encoded Basic credential
  2. Check the wrapped error for the specific header problem
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at server/auth/gatekeeper.go:345 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/0e661ea6316ca7b1. Report an issue: GitHub.