Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
1105 Внедрение механизмов обеспечения безопасности цепочки поставки программных проектов
Legacy
scanned-projects
helm
Commits
af9190f9
Commit
af9190f9
authored
7 years ago
by
Christoph Hösler
Browse files
Options
Download
Patches
Plain Diff
feature: let FindChartInRepoURL return absolute chart URLs
parent
2106766a
main
Release
add-codeql
dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible
dependabot/go_modules/github.com/lib/pq-1.10.9
dependabot/go_modules/github.com/rubenv/sql-migrate-1.4.0
dependabot/go_modules/golang.org/x/crypto-0.9.0
dependabot/go_modules/golang.org/x/term-0.8.0
dependabot/go_modules/k8s.io/klog/v2-2.100.1
dev-v2
feat-v3/event-emitter-lua
release-2.10
release-2.11
release-2.12
release-2.13
release-2.14
release-2.15
release-2.16
release-2.17
release-2.8
release-2.9
release-3.0
release-3.1
release-3.10
release-3.11
release-3.12
release-3.2
release-3.3
release-3.4
release-3.5
release-3.6
release-3.6.1
release-3.6.2
release-3.7
release-3.8
release-3.9
release-v3.0.0-beta.4
v3.12.0
v3.12.0-rc.1
v3.12.0-dev.1
v3.11.3
v3.11.2
v3.11.1
v3.11.0
v3.11.0-rc.2
v3.11.0-rc.1
v3.10.3
v3.10.2
v3.10.1
v3.10.0
v3.10.0-rc.1
v3.9.4
v3.9.3
v3.9.2
v3.9.1
v3.9.0
v3.9.0-rc.1
v3.8.2
v3.8.1
v3.8.0
v3.8.0-rc.2
v3.8.0-rc.1
v3.7.2
v3.7.1
v3.7.0
v3.7.0-rc.3
v3.7.0-rc.2
v3.7.0-rc.1
v3.6.3
v3.6.2
v3.6.1
v3.6.0
v3.6.0-rc.1
v3.5.4
v3.5.3
v3.5.2
v3.5.1
v3.5.0
v3.5.0-rc.2
v3.5.0-rc.1
v3.4.2
v3.4.1
v3.4.0
v3.4.0-rc.1
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
v3.3.0-rc.2
v3.3.0-rc.1
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0
v3.2.0-rc.1
v3.1.3
v3.1.2
v3.1.1
v3.1.0
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc.1
v3.0.3
v3.0.2
v3.0.1
v3.0.0
v3.0.0-rc.4
v3.0.0-rc.3
v3.0.0-rc.2
v3.0.0-rc.1
v3.0.0-beta.5
v3.0.0-beta.4
v3.0.0-beta.3
v3.0.0-beta.2
v3.0.0-beta.1
v3.0.0-alpha.2
v3.0.0-alpha.1
v2.17.0
v2.17.0-rc.1
v2.16.12
v2.16.11
v2.16.10
v2.16.9
v2.16.8
v2.16.7
v2.16.6
v2.16.5
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.16.0
v2.16.0-rc.2
v2.16.0-rc.1
v2.15.2
v2.15.1
v2.15.0
v2.15.0-rc.2
v2.15.0-rc.1
v2.14.3
v2.14.2
v2.14.1
v2.14.0
v2.14.0-rc.2
v2.14.0-rc.1
v2.13.1
v2.13.1-rc.1
v2.13.0
v2.13.0-rc.2
v2.13.0-rc.1
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.12.0-rc.2
v2.12.0-rc.1
v2.11.0
v2.11.0-rc.4
v2.11.0-rc.3
v2.11.0-rc.2
v2.11.0-rc.1
v2.10.0
v2.10.0-rc.3
v2.10.0-rc.2
v2.10.0-rc.1
v2.9.1
v2.9.0
v2.9.0-rc5
v2.9.0-rc4
v2.9.0-rc3
v2.9.0-rc2
v2.9.0-rc1
v2.8.2
v2.8.2-rc1
v2.8.1
v2.8.0
v2.8.0-rc.1
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
cmd/helm/install.go
+3
-18
cmd/helm/install.go
docs/helm/helm_install.md
+1
-1
docs/helm/helm_install.md
pkg/repo/chartrepo.go
+25
-2
pkg/repo/chartrepo.go
pkg/repo/chartrepo_test.go
+18
-0
pkg/repo/chartrepo_test.go
with
47 additions
and
21 deletions
+47
-21
cmd/helm/install.go
+
3
−
18
View file @
af9190f9
...
@@ -85,7 +85,7 @@ There are five different ways you can express the chart you want to install:
...
@@ -85,7 +85,7 @@ There are five different ways you can express the chart you want to install:
2. By path to a packaged chart: helm install ./nginx-1.2.3.tgz
2. By path to a packaged chart: helm install ./nginx-1.2.3.tgz
3. By path to an unpacked chart directory: helm install ./nginx
3. By path to an unpacked chart directory: helm install ./nginx
4. By absolute URL: helm install https://example.com/charts/nginx-1.2.3.tgz
4. By absolute URL: helm install https://example.com/charts/nginx-1.2.3.tgz
5. By chart reference and repo url: helm install --repo https://example.com/charts nginx
5. By chart reference and repo url: helm install --repo https://example.com/charts
/
nginx
CHART REFERENCES
CHART REFERENCES
...
@@ -425,22 +425,7 @@ func locateChartPath(repoURL, name, version string, verify bool, keyring,
...
@@ -425,22 +425,7 @@ func locateChartPath(repoURL, name, version string, verify bool, keyring,
if
err
!=
nil
{
if
err
!=
nil
{
return
""
,
err
return
""
,
err
}
}
name
=
chartURL
parsedChartURL
,
err
:=
url
.
Parse
(
chartURL
)
if
err
!=
nil
{
return
""
,
err
}
if
parsedChartURL
.
IsAbs
()
{
name
=
chartURL
}
else
{
parsedRepoURL
,
err
:=
url
.
Parse
(
repoURL
)
if
err
!=
nil
{
return
""
,
err
}
name
=
parsedRepoURL
.
ResolveReference
(
parsedChartURL
)
.
String
()
}
}
}
if
_
,
err
:=
os
.
Stat
(
settings
.
Home
.
Archive
());
os
.
IsNotExist
(
err
)
{
if
_
,
err
:=
os
.
Stat
(
settings
.
Home
.
Archive
());
os
.
IsNotExist
(
err
)
{
...
@@ -459,7 +444,7 @@ func locateChartPath(repoURL, name, version string, verify bool, keyring,
...
@@ -459,7 +444,7 @@ func locateChartPath(repoURL, name, version string, verify bool, keyring,
return
filename
,
err
return
filename
,
err
}
}
return
filename
,
fmt
.
Errorf
(
"file
%q not found
"
,
name
)
return
filename
,
fmt
.
Errorf
(
"f
a
ile
d to download %q
"
,
name
)
}
}
func
generateName
(
nameTemplate
string
)
(
string
,
error
)
{
func
generateName
(
nameTemplate
string
)
(
string
,
error
)
{
...
...
This diff is collapsed.
Click to expand it.
docs/helm/helm_install.md
+
1
−
1
View file @
af9190f9
...
@@ -46,7 +46,7 @@ There are five different ways you can express the chart you want to install:
...
@@ -46,7 +46,7 @@ There are five different ways you can express the chart you want to install:
2.
By path to a packaged chart: helm install ./nginx-1.2.3.tgz
2.
By path to a packaged chart: helm install ./nginx-1.2.3.tgz
3.
By path to an unpacked chart directory: helm install ./nginx
3.
By path to an unpacked chart directory: helm install ./nginx
4.
By absolute URL: helm install https://example.com/charts/nginx-1.2.3.tgz
4.
By absolute URL: helm install https://example.com/charts/nginx-1.2.3.tgz
5.
By chart reference and repo url: helm install --repo https://example.com/charts nginx
5.
By chart reference and repo url: helm install --repo https://example.com/charts
/
nginx
CHART REFERENCES
CHART REFERENCES
...
...
This diff is collapsed.
Click to expand it.
pkg/repo/chartrepo.go
+
25
−
2
View file @
af9190f9
...
@@ -184,7 +184,7 @@ func (r *ChartRepository) generateIndex() error {
...
@@ -184,7 +184,7 @@ func (r *ChartRepository) generateIndex() error {
}
}
// FindChartInRepoURL finds chart in chart repository pointed by repoURL
// FindChartInRepoURL finds chart in chart repository pointed by repoURL
// without adding repo to repos
t
iories
// without adding repo to reposi
t
ories
func
FindChartInRepoURL
(
repoURL
,
chartName
,
chartVersion
,
certFile
,
keyFile
,
caFile
string
,
getters
getter
.
Providers
)
(
string
,
error
)
{
func
FindChartInRepoURL
(
repoURL
,
chartName
,
chartVersion
,
certFile
,
keyFile
,
caFile
string
,
getters
getter
.
Providers
)
(
string
,
error
)
{
// Download and write the index file to a temporary location
// Download and write the index file to a temporary location
...
@@ -227,5 +227,28 @@ func FindChartInRepoURL(repoURL, chartName, chartVersion, certFile, keyFile, caF
...
@@ -227,5 +227,28 @@ func FindChartInRepoURL(repoURL, chartName, chartVersion, certFile, keyFile, caF
return
""
,
fmt
.
Errorf
(
"%s has no downloadable URLs"
,
errMsg
)
return
""
,
fmt
.
Errorf
(
"%s has no downloadable URLs"
,
errMsg
)
}
}
return
cv
.
URLs
[
0
],
nil
chartURL
:=
cv
.
URLs
[
0
]
absoluteChartURL
,
err
:=
MakeAbsoluteChartURL
(
repoURL
,
chartURL
)
if
err
!=
nil
{
return
""
,
err
}
return
absoluteChartURL
,
nil
}
// MakeAbsoluteChartURL resolves chartURL relative to repoURL.
// If chartURL is absolute, it returns chartURL.
func
MakeAbsoluteChartURL
(
repoURL
,
chartURL
string
)
(
string
,
error
)
{
parsedRepoURL
,
err
:=
url
.
Parse
(
repoURL
)
if
err
!=
nil
{
return
""
,
err
}
parsedChartURL
,
err
:=
url
.
Parse
(
chartURL
)
if
err
!=
nil
{
return
""
,
err
}
return
parsedRepoURL
.
ResolveReference
(
parsedChartURL
)
.
String
(),
nil
}
}
This diff is collapsed.
Click to expand it.
pkg/repo/chartrepo_test.go
+
18
−
0
View file @
af9190f9
...
@@ -277,3 +277,21 @@ func TestErrorFindChartInRepoURL(t *testing.T) {
...
@@ -277,3 +277,21 @@ func TestErrorFindChartInRepoURL(t *testing.T) {
t
.
Errorf
(
"Expected error for chart not found, but got a different error (%v)"
,
err
)
t
.
Errorf
(
"Expected error for chart not found, but got a different error (%v)"
,
err
)
}
}
}
}
func
TestMakeAbsoluteChartURL
(
t
*
testing
.
T
)
{
chartURL
,
err
:=
MakeAbsoluteChartURL
(
"http://localhost:8123/charts/"
,
"nginx-0.2.0.tgz"
)
if
err
!=
nil
{
t
.
Errorf
(
"%s"
,
err
)
}
if
chartURL
!=
"http://localhost:8123/charts/nginx-0.2.0.tgz"
{
t
.
Errorf
(
"%s"
,
chartURL
)
}
chartURL
,
err
=
MakeAbsoluteChartURL
(
"http://localhost:8123"
,
"https://kubernetes-charts.storage.googleapis.com/nginx-0.2.0.tgz"
)
if
err
!=
nil
{
t
.
Errorf
(
"%s"
,
err
)
}
if
chartURL
!=
"https://kubernetes-charts.storage.googleapis.com/nginx-0.2.0.tgz"
{
t
.
Errorf
(
"%s"
,
chartURL
)
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets