argoproj/argo-workflows · error

failed to create sync limit: %w

Error message

failed to create sync limit: %w

What it means

CreateSyncLimitCommand wraps any error returned by the CreateSyncLimit gRPC call that persists a new semaphore/parallelism limit in the chosen configmap or database. It fires when the server rejects creation — e.g. invalid limit key, configmap not writable, RBAC denial, or a malformed sync type — preserving the server-side cause via %w.

Source

Thrown at cmd/argo/commands/sync/create.go:80

	if err != nil {
		return err
	}
	serviceClient, err := apiClient.NewSyncServiceClient(ctx)
	if err != nil {
		return err
	}

	req := &syncpkg.CreateSyncLimitRequest{
		CmName:    cliOpts.cmName,
		Namespace: client.Namespace(ctx),
		Key:       key,
		Limit:     cliOpts.limit,
		Type:      syncpkg.SyncConfigType(syncpkg.SyncConfigType_value[cliOpts.syncType]),
	}

	resp, err := serviceClient.CreateSyncLimit(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to create sync limit: %w", err)
	}

	fmt.Printf("Sync limit created\n")
	printSyncLimit(resp.Key, resp.CmName, resp.Namespace, resp.Limit, resp.Type)

	return nil
}

View on GitHub (pinned to 35bff19146)

Solutions

  1. Read the wrapped error for the server-side reason
  2. Ensure --type and --cm-name flags pass validation and the configmap exists
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at cmd/argo/commands/sync/create.go:80 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/8e8881881c6019af. Report an issue: GitHub.