diff --git a/internal/api/list_credentials_v1alpha1.go b/internal/api/list_credentials_v1alpha1.go index 7271c19f0..e7be80d61 100644 --- a/internal/api/list_credentials_v1alpha1.go +++ b/internal/api/list_credentials_v1alpha1.go @@ -8,6 +8,8 @@ import ( "connectrpc.com/connect" corev1 "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/labels" + "k8s.io/apimachinery/pkg/selection" "sigs.k8s.io/controller-runtime/pkg/client" kargoapi "github.com/akuity/kargo/api/v1alpha1" @@ -32,12 +34,31 @@ func (s *server) ListCredentials( return nil, err } + credsLabelSelector := labels.NewSelector() + + credsLabelSelectorRequirement, err := labels.NewRequirement( + kargoapi.CredentialTypeLabelKey, + selection.In, + []string{ + kargoapi.CredentialTypeLabelValueGit, + kargoapi.CredentialTypeLabelValueHelm, + kargoapi.CredentialTypeLabelValueImage, + }) + + if err != nil { + return nil, err + } + + credsLabelSelector = credsLabelSelector.Add(*credsLabelSelectorRequirement) + var secretsList corev1.SecretList if err := s.client.List( ctx, &secretsList, client.InNamespace(req.Msg.GetProject()), - client.HasLabels{kargoapi.CredentialTypeLabelKey}, + &client.ListOptions{ + LabelSelector: credsLabelSelector, + }, ); err != nil { return nil, fmt.Errorf("list secrets: %w", err) } diff --git a/ui/src/features/project/credentials/credentials-list.tsx b/ui/src/features/project/credentials/credentials-list.tsx index 61f402d09..a0f7fe2d9 100644 --- a/ui/src/features/project/credentials/credentials-list.tsx +++ b/ui/src/features/project/credentials/credentials-list.tsx @@ -49,7 +49,7 @@ export const CredentialsList = () => { return (
- + @@ -73,7 +73,6 @@ export const CredentialsList = () => { } - className='w-1/2' > { dataSource={specificCredentials} rowKey={(record: Secret) => record?.metadata?.name || ''} loading={listCredentialsQuery.isLoading} + pagination={{ defaultPageSize: 5 }} columns={[ { title: 'Name', @@ -208,7 +208,6 @@ export const CredentialsList = () => { } - className='w-1/2' >