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
e74772f1
Commit
e74772f1
authored
8 years ago
by
Matt Butcher
Committed by
GitHub
8 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #2021 from technosophos/feat/2019-dep-up-skip-refresh
feat(helm): add --skip-refresh flag to 'helm dep up'
parents
12478308
f7b010a1
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.3
release-2.4
release-2.5
release-2.6
release-2.7
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
v2.7.2
v2.7.1
v2.7.0
v2.7.0-rc1
v2.6.2
v2.6.1
v2.6.0
v2.5.1
v2.5.0
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
cmd/helm/dependency_update.go
+12
-9
cmd/helm/dependency_update.go
cmd/helm/dependency_update_test.go
+44
-0
cmd/helm/dependency_update_test.go
pkg/downloader/manager.go
+14
-6
pkg/downloader/manager.go
with
70 additions
and
15 deletions
+70
-15
cmd/helm/dependency_update.go
+
12
−
9
View file @
e74772f1
...
...
@@ -41,11 +41,12 @@ in the requirements.yaml file, but (b) at the wrong version.
// dependencyUpdateCmd describes a 'helm dependency update'
type
dependencyUpdateCmd
struct
{
out
io
.
Writer
chartpath
string
helmhome
helmpath
.
Home
verify
bool
keyring
string
out
io
.
Writer
chartpath
string
helmhome
helmpath
.
Home
verify
bool
keyring
string
skipRefresh
bool
}
// newDependencyUpdateCmd creates a new dependency update command.
...
...
@@ -80,6 +81,7 @@ func newDependencyUpdateCmd(out io.Writer) *cobra.Command {
f
:=
cmd
.
Flags
()
f
.
BoolVar
(
&
duc
.
verify
,
"verify"
,
false
,
"verify the packages against signatures"
)
f
.
StringVar
(
&
duc
.
keyring
,
"keyring"
,
defaultKeyring
(),
"keyring containing public keys"
)
f
.
BoolVar
(
&
duc
.
skipRefresh
,
"skip-refresh"
,
false
,
"do not refresh the local repository cache"
)
return
cmd
}
...
...
@@ -87,10 +89,11 @@ func newDependencyUpdateCmd(out io.Writer) *cobra.Command {
// run runs the full dependency update process.
func
(
d
*
dependencyUpdateCmd
)
run
()
error
{
man
:=
&
downloader
.
Manager
{
Out
:
d
.
out
,
ChartPath
:
d
.
chartpath
,
HelmHome
:
d
.
helmhome
,
Keyring
:
d
.
keyring
,
Out
:
d
.
out
,
ChartPath
:
d
.
chartpath
,
HelmHome
:
d
.
helmhome
,
Keyring
:
d
.
keyring
,
SkipUpdate
:
d
.
skipRefresh
,
}
if
d
.
verify
{
man
.
Verify
=
downloader
.
VerifyIfPossible
...
...
This diff is collapsed.
Click to expand it.
cmd/helm/dependency_update_test.go
+
44
−
0
View file @
e74772f1
...
...
@@ -128,6 +128,50 @@ func TestDependencyUpdateCmd(t *testing.T) {
}
}
func
TestDependencyUpdateCmd_SkipRefresh
(
t
*
testing
.
T
)
{
// Set up a testing helm home
oldhome
:=
helmHome
hh
,
err
:=
tempHelmHome
(
t
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
helmHome
=
hh
defer
func
()
{
os
.
RemoveAll
(
hh
)
helmHome
=
oldhome
}()
srv
:=
repotest
.
NewServer
(
hh
)
defer
srv
.
Stop
()
copied
,
err
:=
srv
.
CopyCharts
(
"testdata/testcharts/*.tgz"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
t
.
Logf
(
"Copied charts:
\n
%s"
,
strings
.
Join
(
copied
,
"
\n
"
))
t
.
Logf
(
"Listening on directory %s"
,
srv
.
Root
())
chartname
:=
"depup"
if
err
:=
createTestingChart
(
hh
,
chartname
,
srv
.
URL
());
err
!=
nil
{
t
.
Fatal
(
err
)
}
out
:=
bytes
.
NewBuffer
(
nil
)
duc
:=
&
dependencyUpdateCmd
{
out
:
out
}
duc
.
helmhome
=
helmpath
.
Home
(
hh
)
duc
.
chartpath
=
filepath
.
Join
(
hh
,
chartname
)
duc
.
skipRefresh
=
true
if
err
:=
duc
.
run
();
err
==
nil
{
t
.
Fatal
(
"Expected failure to find the repo with skipRefresh"
)
}
output
:=
out
.
String
()
// This is written directly to stdout, so we have to capture as is.
if
strings
.
Contains
(
output
,
`update from the "test" chart repository`
)
{
t
.
Errorf
(
"Repo was unexpectedly updated
\n
%s"
,
output
)
}
}
// createTestingChart creates a basic chart that depends on reqtest-0.1.0
//
// The baseURL can be used to point to a particular repository server.
...
...
This diff is collapsed.
Click to expand it.
pkg/downloader/manager.go
+
14
−
6
View file @
e74772f1
...
...
@@ -53,11 +53,15 @@ type Manager struct {
Verify
VerificationStrategy
// Keyring is the key ring file.
Keyring
string
// SkipUpdate indicates that the repository should not be updated first.
SkipUpdate
bool
}
// Build rebuilds a local charts directory from a lockfile.
//
// If the lockfile is not present, this will run a Manager.Update()
//
// If SkipUpdate is set, this will not update the repository.
func
(
m
*
Manager
)
Build
()
error
{
c
,
err
:=
m
.
loadChartDir
()
if
err
!=
nil
{
...
...
@@ -85,9 +89,11 @@ func (m *Manager) Build() error {
return
err
}
// For each repo in the file, update the cached copy of that repo
if
err
:=
m
.
UpdateRepositories
();
err
!=
nil
{
return
err
if
!
m
.
SkipUpdate
{
// For each repo in the file, update the cached copy of that repo
if
err
:=
m
.
UpdateRepositories
();
err
!=
nil
{
return
err
}
}
// Now we need to fetch every package here into charts/
...
...
@@ -102,7 +108,7 @@ func (m *Manager) Build() error {
//
// It first reads the requirements.yaml file, and then attempts to
// negotiate versions based on that. It will download the versions
// from remote chart repositories.
// from remote chart repositories
unless SkipUpdate is true
.
func
(
m
*
Manager
)
Update
()
error
{
c
,
err
:=
m
.
loadChartDir
()
if
err
!=
nil
{
...
...
@@ -127,8 +133,10 @@ func (m *Manager) Update() error {
}
// For each repo in the file, update the cached copy of that repo
if
err
:=
m
.
UpdateRepositories
();
err
!=
nil
{
return
err
if
!
m
.
SkipUpdate
{
if
err
:=
m
.
UpdateRepositories
();
err
!=
nil
{
return
err
}
}
// Now we need to find out which version of a chart best satisfies the
...
...
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