mirror of
https://github.com/goharbor/harbor.git
synced 2024-12-22 16:48:30 +01:00
Fix frontend failure caused by absolute path
Fix failures because front downlowd chart using relative path Signed-off-by: Qian Deng <dengq@vmware.com>
This commit is contained in:
parent
3022b617f2
commit
f607c5177d
@ -65,6 +65,7 @@ jobservice:
|
||||
max_job_workers: 10
|
||||
|
||||
chart:
|
||||
# Harbor Default will using relative url in chart, if you want using absolute url you should enable it by change the following value to disabled
|
||||
absolute_url: disabled
|
||||
|
||||
# Log configurations
|
||||
|
@ -12,7 +12,6 @@ chartm_env = os.path.join(config_dir, "chartserver", "env")
|
||||
def prepare_chartmuseum(config_dict):
|
||||
|
||||
core_secret = config_dict['core_secret']
|
||||
registry_custom_ca_bundle_path = config_dict['registry_custom_ca_bundle_path']
|
||||
redis_host = config_dict['redis_host']
|
||||
redis_port = config_dict['redis_port']
|
||||
redis_password = config_dict['redis_password']
|
||||
|
@ -218,7 +218,6 @@ func (c *Controller) SearchChart(q string, namespaces []string) ([]*search.Resul
|
||||
|
||||
// Get the content bytes of the chart version
|
||||
func (c *Controller) getChartVersionContent(namespace string, subPath string) ([]byte, error) {
|
||||
hlog.Infof("namespace: %v, subpath: %v", namespace, subPath)
|
||||
var url string
|
||||
if strings.HasPrefix(subPath, "http") {
|
||||
extEndpoint, err := config.ExtEndpoint()
|
||||
@ -226,7 +225,6 @@ func (c *Controller) getChartVersionContent(namespace string, subPath string) ([
|
||||
return nil, errors.Wrap(err, "can not get ext endpoint")
|
||||
}
|
||||
url = strings.TrimPrefix(subPath, fmt.Sprintf("%s/%s", extEndpoint, "chartrepo/"))
|
||||
hlog.Infof("extendpoint: %v, trim head: %v result url: %v", extEndpoint, fmt.Sprintf("%s/%s", extEndpoint, "chartrepo"), url)
|
||||
} else {
|
||||
url = path.Join(namespace, subPath)
|
||||
}
|
||||
|
@ -545,9 +545,7 @@ func isMultipartFormData(req *http.Request) bool {
|
||||
// Return the chart full name
|
||||
func chartFullName(namespace, chartName, version string) string {
|
||||
if strings.HasPrefix(chartName, "http") {
|
||||
return fmt.Sprintf("%s:%s", namespace, chartName, version)
|
||||
} else {
|
||||
return fmt.Sprintf("%s/%s:%s", namespace, chartName, version)
|
||||
|
||||
return fmt.Sprintf("%s:%s", chartName, version)
|
||||
}
|
||||
return fmt.Sprintf("%s/%s:%s", namespace, chartName, version)
|
||||
}
|
||||
|
@ -178,7 +178,15 @@ export class HelmChartDefaultService extends HelmChartService {
|
||||
projectName: string,
|
||||
filename: string,
|
||||
): Observable<any> {
|
||||
return this.http.get(`${this.config.downloadChartEndpoint}/${projectName}/${filename}`, {
|
||||
let url: string;
|
||||
let chartFileRegexPattern = new RegExp('^http.*/chartrepo/(.*)');
|
||||
if (chartFileRegexPattern.test(filename)) {
|
||||
let match = filename.match('^http.*/chartrepo/(.*)');
|
||||
url = `${this.config.downloadChartEndpoint}/${match[1]}`;
|
||||
} else {
|
||||
url = `${this.config.downloadChartEndpoint}/${projectName}/${filename}`;
|
||||
}
|
||||
return this.http.get(url, {
|
||||
responseType: ResponseContentType.Blob,
|
||||
})
|
||||
.pipe(map(response => {
|
||||
|
Loading…
Reference in New Issue
Block a user