Skip to content

Commit 16c1d32

Browse files
authored
list-available: if a specified package exists in multiple catalogs, list the package for each catalog (#49)
Signed-off-by: Joe Lanford <[email protected]>
1 parent f12f147 commit 16c1d32

File tree

1 file changed

+3
-24
lines changed

1 file changed

+3
-24
lines changed

internal/pkg/action/operator_list_available.go

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -27,29 +27,6 @@ func NewOperatorListAvailable(cfg *action.Configuration) *OperatorListAvailable
2727
}
2828

2929
func (l *OperatorListAvailable) Run(ctx context.Context) ([]operator.PackageManifest, error) {
30-
if l.Package != "" {
31-
pm, err := l.getPackageManifestByName(ctx, l.Package)
32-
if err != nil {
33-
return nil, err
34-
}
35-
return []operator.PackageManifest{*pm}, nil
36-
}
37-
return l.getAllPackageManifests(ctx)
38-
}
39-
40-
func (l *OperatorListAvailable) getPackageManifestByName(ctx context.Context, packageName string) (*operator.PackageManifest, error) {
41-
pm := v1.PackageManifest{}
42-
pmKey := types.NamespacedName{
43-
Namespace: l.config.Namespace,
44-
Name: packageName,
45-
}
46-
if err := l.config.Client.Get(ctx, pmKey, &pm); err != nil {
47-
return nil, err
48-
}
49-
return &operator.PackageManifest{PackageManifest: pm}, nil
50-
}
51-
52-
func (l *OperatorListAvailable) getAllPackageManifests(ctx context.Context) ([]operator.PackageManifest, error) {
5330
labelSelector := client.MatchingLabels{}
5431
if l.Catalog.Name != "" {
5532
labelSelector["catalog"] = l.Catalog.Name
@@ -64,7 +41,9 @@ func (l *OperatorListAvailable) getAllPackageManifests(ctx context.Context) ([]o
6441
}
6542
pkgs := make([]operator.PackageManifest, len(pms.Items))
6643
for i := range pms.Items {
67-
pkgs[i] = operator.PackageManifest{PackageManifest: pms.Items[i]}
44+
if l.Package == "" || l.Package == pms.Items[i].GetName() {
45+
pkgs[i] = operator.PackageManifest{PackageManifest: pms.Items[i]}
46+
}
6847
}
6948
return pkgs, nil
7049
}

0 commit comments

Comments
 (0)