New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 'GetAvailablePackageSummaries' impl #3784
Conversation
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
} | ||
// Assume the default cluster if none is specified | ||
if cluster == "" { | ||
cluster = s.globalPackagingCluster |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same thought as earlier... why do we not just require cluster in the request now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess we could throw an error, that's true... however, let's assume a user only has a single cluster: do we really want to force them to write "default" or whichever name in the kubeapps clusters
section?
However, the reason why I wrote it was simply for the sake of parity between different plugins. See this example of the Helm one:
That said, I don't have a strong opinion here, happy to revert it to a 400-alike error (albeit I'd like to ensure the same behavior across plugins first)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No no, all good. I'd mistakenly thought that we'd updated already elsewhere, but what it was was that we updated the flux plugin to accept and use it when set (since the dashboard always sends it). Better to have it consistent with the other plugins. Sorry for the noise.
for i, pkgMetadata := range pkgMetadatas { | ||
wg.Add(1) | ||
if startAt <= i { | ||
go func(i int, pkgMetadata *datapackagingv1alpha1.PackageMetadata) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is the same/similar method you're using elsewhere? (sorry, it was hours ago in a different review, not 100%), in which case, perhaps we can DRY it up (eventually, no problem if it's just a comment for now).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, I've used this pagination logic (inspired by Greg's code :P) also in the GetInstalledPackageSummaries. Adding a comment in both places for future improvement. Thanks!
cluster = s.globalPackagingCluster | ||
} | ||
// fetch all the package metadatas | ||
pkgMetadatas, err := s.getPkgMetadatas(ctx, cluster, namespace) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that the PackageMetadata
contains the in-lined SVG icon, this call could itself be causing performance/mem issues for a repo like Bitnami? Worth checking and if so, only request the page size number of results.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've quickly analyzed the elapsed times of each part:
- Get all package metadatas: 0.2 seconds, it's ok
- getPkgsWithFieldSelector: 2 seconds avg
- The "problem" is in the
resource.List(ctx, listOptions)
code, which is taking from 0.8 to 2.4 seconds in retrieving all the packages whose FieldSelector is foo. Some examples:resource.List function took 2.245123407s for (3) items for spec.refName=contour.community.tanzu.vmware.com
resource.List function took 1.550673668s for (3) items for spec.refName=pkg.test.carvel.dev
- The "problem" is in the
- getPkgVersionsMap function: microseconds, not relevant
- Build the AvailablePackageSummary object: microseconds, not relevant
If I execute the Kubectl equivalent:
> rm -rf $HOME/.kube/cache
> time k get pkg --field-selector spec.refName=kapp-controller.tanzu.vmware.com
real 0m0,462s
> time k get pkg --field-selector spec.refName=kapp-controller.tanzu.vmware.com
real 0m0,347s
So, a bit slow, but not -that- slow (as in up to 2s)... further investigation is required.
Adding a TODO linked to this comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent - thanks for the info.
// fetch the associated packages | ||
// Use the field selector to return only Package CRs that match on the spec.refName. | ||
fieldSelector := fmt.Sprintf("spec.refName=%s", pkgMetadata.Name) | ||
pkgs, err := s.getPkgsWithFieldSelector(ctx, cluster, namespace, fieldSelector) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes me wonder, given that the package resources are pretty lean (no inlined SVG!), whether it'd be faster here to do a single request for all packages and just filter it down based on the metadata that we're dealing with. If you've got your cluster setup with the bitnami (carvel) repo, you can just try time kubectl get packages --all-namespaces
.
That'd mean no need for go-routines here, if so.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assumed that delegating the pkg search thing back to kubernetes was quicker than doing it by ourselves, but you are possibly right... we better fetch the whole list -in memory: future issues??- and then we filter.
> time kubectl get packages --all-namespaces
real 0m1,464s
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, though if the inline SVG isn't the issue, my original thought above is moot.
// been able so far. | ||
// An alternative is using channels to perform a fine-grained control... but not sure if it worths | ||
|
||
// filter out <nil> values |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar comment to the related PR (for getinstalled? not sure): why are we not returning an error if there was an error while fetching the result, rather than returning incomplete results (which it sounds like the case for values is).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tend to do it as fail-tolerant as possible; especially, when developing I had some inconsistencies (like in manually deleting CRs) so I opted for being lenient and letting packages have errors.
A reason for that is we currently propagate that error through the chain of calls, so, a maybe temporary inconsistency or error in a single package will prevent the whole packages core API from working until the problem is manually fixed. Is that the intended behavior? I don't know, but, as a user, I don't want to break Kubeapps for a single corrupted package.
Let me leave this TODO as is right now so that we can discuss it in the future. Adding a link to the comment anyway.
datapackagingv1alpha1 "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apiserver/apis/datapackaging/v1alpha1" | ||
) | ||
|
||
func (s *Server) getAvailablePackageSummary(pkgMetadata *datapackagingv1alpha1.PackageMetadata, pkgVersionsMap map[string][]pkgSemver, cluster string) (*corev1.AvailablePackageSummary, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar comment here: slight preference for a name that doesn't communicate getting/fetching over a network.
// a url, so convert to a data-url. | ||
iconUrl := "" | ||
if pkgMetadata.Spec.IconSVGBase64 != "" { | ||
iconUrl = fmt.Sprintf("data:image/svg+xml;base64,%s", pkgMetadata.Spec.IconSVGBase64) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment about Strings.Builder.
} | ||
}) | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar comment: not sure why the tests were removed to be re-added, rather than just editing them so it's clear what changed (just for next time).
* Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> Conflicts: cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_ctrl_packages.go cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_data_adapters.go cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_test.go
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
…3816) * Add required files for the Carvel plugin impl (#3783) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl (#3784) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl (#3785) * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl (#3786) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl (#3785) * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageSummaries' impl (#3787) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl (#3785) * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageDetail' impl (#3788) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageDetail Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix wrong secret name in test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl (#3785) * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'CreateInstalledPackage' impl (#3789) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'CreateInstalledPackage' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageDetail Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix wrong secret name in test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add targetCluster but throw an error if not matching with pkg one Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestCreateInstalledPackage Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove populated secrets in the create test. Minor renames Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'UpdateInstalledPackage' impl (#3790) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'CreateInstalledPackage' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'UpdateInstalledPackage' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageDetail Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix wrong secret name in test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add targetCluster but throw an error if not matching with pkg one Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestCreateInstalledPackage Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add basic TestUpdateInstalledPackage Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix wrong pkg cluster Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove populated secrets in the create test. Minor renames Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'DeleteInstalledPackage' impl (#3791) * Add required files for the Carvel plugin impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageVersions' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetAvailablePackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageSummaries' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetInstalledPackageDetail' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'CreateInstalledPackage' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'UpdateInstalledPackage' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'DeleteInstalledPackage' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove old tests. Fix TestGetClient test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetAvailablePackageVersions Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageSummaries Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetInstalledPackageDetail Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix wrong secret name in test Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add targetCluster but throw an error if not matching with pkg one Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestCreateInstalledPackage Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add basic TestUpdateInstalledPackage Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix wrong pkg cluster Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Remove populated secrets in the create test. Minor renames Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestDeleteInstalledPackage Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add 'GetPackageRepositories' impl (#3792) * Add 'GetPackageRepositories' impl Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix nil pointer Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add TestGetPackageRepositories Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Merge manually some changes Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Changes after code review Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Fix example plugin name in values.yaml Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Add "try again" button in the installed pkgs view Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com> * Initial WIP GetInstalledPackageResourceRefs Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
Description of the change
Initial implementation of the
GetAvailablePackageSummaries
operationBenefits
An initial and very limited Carvel support in Kubeapps
Possible drawbacks
N/A
Applicable issues
Additional information
N/A