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
08a488f5
Commit
08a488f5
authored
8 years ago
by
Matt Butcher
Committed by
GitHub
8 years ago
Browse files
Options
Download
Plain Diff
Merge pull request #1142 from ammeon/add-update
feat(helm): `--no-update` flag for `helm repo add`
parents
765da276
16436b56
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
kube-update-test
release-2.0
release-2.1
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.2
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
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.2
v2.0.1
v2.0.0
v2.0.0-rc.2
v2.0.0-rc.1
v2.0.0-beta.2
v2.0.0-beta.1
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
cmd/helm/repo_add.go
+39
-5
cmd/helm/repo_add.go
cmd/helm/repo_add_test.go
+8
-0
cmd/helm/repo_add_test.go
pkg/repo/repo.go
+14
-0
pkg/repo/repo.go
with
61 additions
and
5 deletions
+61
-5
cmd/helm/repo_add.go
+
39
−
5
View file @
08a488f5
...
...
@@ -28,10 +28,11 @@ import (
)
type
repoAddCmd
struct
{
name
string
url
string
home
helmpath
.
Home
out
io
.
Writer
name
string
url
string
home
helmpath
.
Home
out
io
.
Writer
noupdate
bool
}
func
newRepoAddCmd
(
out
io
.
Writer
)
*
cobra
.
Command
{
...
...
@@ -54,11 +55,19 @@ func newRepoAddCmd(out io.Writer) *cobra.Command {
return
add
.
run
()
},
}
f
:=
cmd
.
Flags
()
f
.
BoolVar
(
&
add
.
noupdate
,
"no-update"
,
false
,
"raise error if repo is already registered"
)
return
cmd
}
func
(
a
*
repoAddCmd
)
run
()
error
{
if
err
:=
addRepository
(
a
.
name
,
a
.
url
,
a
.
home
);
err
!=
nil
{
var
err
error
if
a
.
noupdate
{
err
=
addRepository
(
a
.
name
,
a
.
url
,
a
.
home
)
}
else
{
err
=
updateRepository
(
a
.
name
,
a
.
url
,
a
.
home
)
}
if
err
!=
nil
{
return
err
}
fmt
.
Fprintf
(
a
.
out
,
"%q has been added to your repositories
\n
"
,
a
.
name
)
...
...
@@ -91,3 +100,28 @@ func insertRepoLine(name, url string, home helmpath.Home) error {
})
return
f
.
WriteFile
(
home
.
RepositoryFile
(),
0644
)
}
func
updateRepository
(
name
,
url
string
,
home
helmpath
.
Home
)
error
{
cif
:=
home
.
CacheIndex
(
name
)
if
err
:=
repo
.
DownloadIndexFile
(
name
,
url
,
cif
);
err
!=
nil
{
return
err
}
return
updateRepoLine
(
name
,
url
,
home
)
}
func
updateRepoLine
(
name
,
url
string
,
home
helmpath
.
Home
)
error
{
cif
:=
home
.
CacheIndex
(
name
)
f
,
err
:=
repo
.
LoadRepositoriesFile
(
home
.
RepositoryFile
())
if
err
!=
nil
{
return
err
}
f
.
Update
(
&
repo
.
Entry
{
Name
:
name
,
URL
:
url
,
Cache
:
filepath
.
Base
(
cif
),
})
return
f
.
WriteFile
(
home
.
RepositoryFile
(),
0666
)
}
This diff is collapsed.
Click to expand it.
cmd/helm/repo_add_test.go
+
8
−
0
View file @
08a488f5
...
...
@@ -92,4 +92,12 @@ func TestRepoAdd(t *testing.T) {
if
!
f
.
Has
(
testName
)
{
t
.
Errorf
(
"%s was not successfully inserted into %s"
,
testName
,
hh
.
RepositoryFile
())
}
if
err
:=
updateRepository
(
testName
,
ts
.
URL
(),
hh
);
err
!=
nil
{
t
.
Errorf
(
"Repository was not updated: %s"
,
err
)
}
if
err
:=
addRepository
(
testName
,
ts
.
URL
(),
hh
);
err
==
nil
{
t
.
Errorf
(
"Duplicate repository name was added"
)
}
}
This diff is collapsed.
Click to expand it.
pkg/repo/repo.go
+
14
−
0
View file @
08a488f5
...
...
@@ -109,6 +109,20 @@ func (r *RepoFile) Add(re ...*Entry) {
r
.
Repositories
=
append
(
r
.
Repositories
,
re
...
)
}
// Update attempts to replace one or more repo entries in a repo file. If an
// entry with the same name doesn't exist in the repo file it will add it.
func
(
r
*
RepoFile
)
Update
(
re
...*
Entry
)
{
for
_
,
target
:=
range
re
{
for
j
,
repo
:=
range
r
.
Repositories
{
if
repo
.
Name
==
target
.
Name
{
r
.
Repositories
[
j
]
=
target
break
}
}
r
.
Add
(
target
)
}
}
// Has returns true if the given name is already a repository name.
func
(
r
*
RepoFile
)
Has
(
name
string
)
bool
{
for
_
,
rf
:=
range
r
.
Repositories
{
...
...
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