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
e250328e
Commit
e250328e
authored
8 years ago
by
Michelle Noorali
Browse files
Options
Download
Patches
Plain Diff
feat(helm): add helm repo add command
parent
52513443
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
v2.0.0-alpha.5
v2.0.0-alpha.4
v2.0.0-alpha.3
v2.0.0-alpha.2
v2.0.0-alpha.1
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
cmd/helm/repo.go
+72
-0
cmd/helm/repo.go
cmd/helm/repo_test.go
+35
-0
cmd/helm/repo_test.go
pkg/repo/repo.go
+40
-0
pkg/repo/repo.go
with
147 additions
and
0 deletions
+147
-0
cmd/helm/repo.go
0 → 100644
+
72
−
0
View file @
e250328e
package
main
import
(
"fmt"
"os"
"github.com/deis/tiller/pkg/repo"
"github.com/spf13/cobra"
"gopkg.in/yaml.v2"
)
func
init
()
{
repoCmd
.
AddCommand
(
repoAddCmd
)
RootCommand
.
AddCommand
(
repoCmd
)
}
var
repoCmd
=
&
cobra
.
Command
{
Use
:
"repo add|remove|list [ARG]"
,
Short
:
"add, list, or remove chart repositories"
,
}
var
repoAddCmd
=
&
cobra
.
Command
{
Use
:
"add [flags] [NAME] [URL]"
,
Short
:
"add a chart repository"
,
RunE
:
runRepoAdd
,
}
func
runRepoAdd
(
cmd
*
cobra
.
Command
,
args
[]
string
)
error
{
if
len
(
args
)
!=
2
{
return
fmt
.
Errorf
(
"This command needs two argument, a name for the chart repository and the url of the chart repository"
)
}
err
:=
insertRepoLine
(
args
[
0
],
args
[
1
])
if
err
!=
nil
{
return
err
}
fmt
.
Println
(
args
[
0
]
+
" has been added to your repositories"
)
return
nil
}
func
insertRepoLine
(
name
,
url
string
)
error
{
err
:=
checkUniqueName
(
name
)
if
err
!=
nil
{
return
err
}
b
,
_
:=
yaml
.
Marshal
(
map
[
string
]
string
{
name
:
url
})
f
,
err
:=
os
.
OpenFile
(
repositoriesFile
(),
os
.
O_APPEND
|
os
.
O_WRONLY
,
0666
)
if
err
!=
nil
{
return
err
}
defer
f
.
Close
()
_
,
err
=
f
.
Write
(
b
)
if
err
!=
nil
{
return
err
}
return
nil
}
func
checkUniqueName
(
name
string
)
error
{
file
,
err
:=
repo
.
LoadRepositoriesFile
(
repositoriesFile
())
if
err
!=
nil
{
return
err
}
_
,
ok
:=
file
.
Repositories
[
name
]
if
ok
{
return
fmt
.
Errorf
(
"The repository name you provided (%s) already exists. Please specifiy a different name."
,
name
)
}
return
nil
}
This diff is collapsed.
Click to expand it.
cmd/helm/repo_test.go
0 → 100644
+
35
−
0
View file @
e250328e
package
main
import
(
"testing"
"github.com/deis/tiller/pkg/repo"
)
func
TestRepoAdd
(
t
*
testing
.
T
)
{
home
:=
createTmpHome
()
helmHome
=
home
if
err
:=
ensureHome
();
err
!=
nil
{
t
.
Errorf
(
"%s"
,
err
)
}
testName
:=
"test-name"
testURL
:=
"test-url"
if
err
:=
insertRepoLine
(
testName
,
testURL
);
err
!=
nil
{
t
.
Errorf
(
"%s"
,
err
)
}
f
,
err
:=
repo
.
LoadRepositoriesFile
(
repositoriesFile
())
if
err
!=
nil
{
t
.
Errorf
(
"%s"
,
err
)
}
_
,
ok
:=
f
.
Repositories
[
testName
]
if
!
ok
{
t
.
Errorf
(
"%s was not successfully inserted into %s"
,
testName
,
repositoriesFile
())
}
if
err
:=
insertRepoLine
(
testName
,
testURL
);
err
==
nil
{
t
.
Errorf
(
"Duplicate repository name was added"
)
}
}
This diff is collapsed.
Click to expand it.
pkg/repo/repo.go
0 → 100644
+
40
−
0
View file @
e250328e
package
repo
import
(
"io/ioutil"
"gopkg.in/yaml.v2"
)
// RepoFile represents the .repositories file in $HELM_HOME
type
RepoFile
struct
{
Repositories
map
[
string
]
string
}
// LoadRepositoriesFile takes a file at the given path and returns a RepoFile object
func
LoadRepositoriesFile
(
path
string
)
(
*
RepoFile
,
error
)
{
b
,
err
:=
ioutil
.
ReadFile
(
path
)
if
err
!=
nil
{
return
nil
,
err
}
var
r
RepoFile
err
=
yaml
.
Unmarshal
(
b
,
&
r
)
if
err
!=
nil
{
return
nil
,
err
}
return
&
r
,
nil
}
// UnmarshalYAML unmarshals the repo file
func
(
rf
*
RepoFile
)
UnmarshalYAML
(
unmarshal
func
(
interface
{})
error
)
error
{
var
repos
map
[
string
]
string
if
err
:=
unmarshal
(
&
repos
);
err
!=
nil
{
if
_
,
ok
:=
err
.
(
*
yaml
.
TypeError
);
!
ok
{
return
err
}
}
rf
.
Repositories
=
repos
return
nil
}
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