Kubeapps: Charts with slashes (/) in the name cannot be rendered

Created on 22 Jun 2020  路  2Comments  路  Source: kubeapps/kubeapps

Description:

We noticed that if a chart contains a slash in the name (e.g. library/kubeapps), the chart fails to be rendered, giving a 404:

Screenshot from 2020-06-22 12-07-33
Screenshot from 2020-06-22 12-07-57

This is because library/ gets interpreted as a subpath.

Steps to reproduce the issue:

  1. Create Harbor instance
  2. Upload a chart to the default repo (library)
  3. Import the default repo to Kubeapps.

Describe the results you expected:

To properly show the catalog, escaping the slash.

kinbug priorithigh sizM

All 2 comments

I think this is the reason why https://chartcenter.io public repo cannot be used in Kubeapps.
Same 404 error for every helm chart in https://repo.chartcenter.io/ repository.
Great that it is in the next milestone!

This issue IMO, unfortunately, not only applies to the UI, but the entire Kubeapps services:

  • [x] asset-syncer should handle the tarball unpacking when the chart name contains a / character.
  • [x] dashboard should properly encode the / character in a chart name as %2F so that the router is able to understand it's a path param.
  • [x] assetsvc router should NOT prematurely decode the%2F so that it can be passed directly to the corresponding methods.
  • [x] nginx shoud NOT decode %2Fwhen proxy_pass. Note that decoding it's the default behavior and some changes have to be made (more info)

Perhaps there are more components or parts affected by this issue, but, as for now, this is all I could get.
I'm working on solving each item.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

danoo picture danoo  路  4Comments

migmartri picture migmartri  路  7Comments

absoludity picture absoludity  路  8Comments

migmartri picture migmartri  路  8Comments

prydonius picture prydonius  路  4Comments