diff --git a/server/workflowarchive/archived_workflow_server.go b/server/workflowarchive/archived_workflow_server.go index f9dfe9ab1fcf..806d844cd09b 100644 --- a/server/workflowarchive/archived_workflow_server.go +++ b/server/workflowarchive/archived_workflow_server.go @@ -83,7 +83,7 @@ func (w *archivedWorkflowServer) ListArchivedWorkflows(ctx context.Context, req return nil, err } if !allowed { - return nil, status.Error(codes.PermissionDenied, "permission denied") + return nil, status.Error(codes.PermissionDenied, fmt.Sprintf("Permission denied, you are not allowed to list workflows in namespace \"%s\". Maybe you want to specify a namespace with `listOptions.fieldSelector=metadata.namespace=your-ns`?", namespace)) } // When the zero value is passed, we should treat this as returning all results diff --git a/server/workflowarchive/archived_workflow_server_test.go b/server/workflowarchive/archived_workflow_server_test.go index 6b00f73d2dfc..c613c765e338 100644 --- a/server/workflowarchive/archived_workflow_server_test.go +++ b/server/workflowarchive/archived_workflow_server_test.go @@ -73,7 +73,7 @@ func Test_archivedWorkflowServer(t *testing.T) { t.Run("ListArchivedWorkflows", func(t *testing.T) { allowed = false _, err := w.ListArchivedWorkflows(ctx, &workflowarchivepkg.ListArchivedWorkflowsRequest{ListOptions: &metav1.ListOptions{Limit: 1}}) - assert.Equal(t, err, status.Error(codes.PermissionDenied, "permission denied")) + assert.Equal(t, err, status.Error(codes.PermissionDenied, "Permission denied, you are not allowed to list workflows in namespace \"\". Maybe you want to specify a namespace with `listOptions.fieldSelector=metadata.namespace=your-ns`?")) allowed = true resp, err := w.ListArchivedWorkflows(ctx, &workflowarchivepkg.ListArchivedWorkflowsRequest{ListOptions: &metav1.ListOptions{Limit: 1}}) if assert.NoError(t, err) {