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
a78aff8d
Unverified
Commit
a78aff8d
authored
6 years ago
by
Adam Reese
Browse files
Options
Download
Patches
Plain Diff
ref(*): improve initializing helm clients
parent
68c0b6a2
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
feat-v3/event-emitter-lua
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
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
cmd/helm/helm.go
+5
-26
cmd/helm/helm.go
pkg/helm/client.go
+1
-4
pkg/helm/client.go
pkg/helm/option.go
+10
-2
pkg/helm/option.go
with
16 additions
and
32 deletions
+16
-32
cmd/helm/helm.go
+
5
−
26
View file @
a78aff8d
...
...
@@ -22,8 +22,6 @@ import (
"strings"
"github.com/spf13/cobra"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
// Import to initialize client auth plugins.
_
"k8s.io/client-go/plugin/pkg/client/auth"
...
...
@@ -136,28 +134,6 @@ func checkArgsLength(argsReceived int, requiredArgs ...string) error {
return
nil
}
// configForContext creates a Kubernetes REST client configuration for a given kubeconfig context.
func
configForContext
(
context
string
)
(
*
rest
.
Config
,
error
)
{
config
,
err
:=
kube
.
GetConfig
(
context
)
.
ClientConfig
()
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"could not get Kubernetes config for context %q: %s"
,
context
,
err
)
}
return
config
,
nil
}
// getKubeClient creates a Kubernetes config and client for a given kubeconfig context.
func
getKubeClient
(
context
string
)
(
*
rest
.
Config
,
kubernetes
.
Interface
,
error
)
{
config
,
err
:=
configForContext
(
context
)
if
err
!=
nil
{
return
nil
,
nil
,
err
}
client
,
err
:=
kubernetes
.
NewForConfig
(
config
)
if
err
!=
nil
{
return
nil
,
nil
,
fmt
.
Errorf
(
"could not get Kubernetes client: %s"
,
err
)
}
return
config
,
client
,
nil
}
// ensureHelmClient returns a new helm client impl. if h is not nil.
func
ensureHelmClient
(
h
helm
.
Interface
)
helm
.
Interface
{
if
h
!=
nil
{
...
...
@@ -167,15 +143,18 @@ func ensureHelmClient(h helm.Interface) helm.Interface {
}
func
newClient
()
helm
.
Interface
{
_
,
clientset
,
err
:=
getKubeClient
(
settings
.
KubeContext
)
cfg
:=
kube
.
GetConfig
(
settings
.
KubeContext
)
kc
:=
kube
.
New
(
cfg
)
clientset
,
err
:=
kc
.
KubernetesClientSet
()
if
err
!=
nil
{
// TODO return error
panic
(
err
)
}
// TODO add other backends
cfgmaps
:=
driver
.
NewConfigMaps
(
clientset
.
Core
()
.
ConfigMaps
(
settings
.
TillerNamespace
))
cfgmaps
:=
driver
.
NewConfigMaps
(
clientset
.
Core
V1
()
.
ConfigMaps
(
settings
.
TillerNamespace
))
return
helm
.
NewClient
(
helm
.
KubeClient
(
kc
),
helm
.
Driver
(
cfgmaps
),
helm
.
Discovery
(
clientset
.
Discovery
()),
)
...
...
This diff is collapsed.
Click to expand it.
pkg/helm/client.go
+
1
−
4
View file @
a78aff8d
...
...
@@ -18,7 +18,6 @@ package helm // import "k8s.io/helm/pkg/helm"
import
(
"k8s.io/helm/pkg/chartutil"
"k8s.io/helm/pkg/kube"
"k8s.io/helm/pkg/proto/hapi/chart"
"k8s.io/helm/pkg/proto/hapi/release"
rls
"k8s.io/helm/pkg/proto/hapi/services"
...
...
@@ -42,9 +41,7 @@ func NewClient(opts ...Option) *Client {
func
(
c
*
Client
)
init
()
*
Client
{
env
:=
environment
.
New
()
env
.
Releases
=
storage
.
Init
(
c
.
opts
.
driver
)
// TODO
env
.
KubeClient
=
kube
.
New
(
nil
)
env
.
KubeClient
=
c
.
opts
.
kubeClient
c
.
tiller
=
tiller
.
NewReleaseServer
(
env
,
c
.
opts
.
discovery
)
return
c
...
...
This diff is collapsed.
Click to expand it.
pkg/helm/option.go
+
10
−
2
View file @
a78aff8d
...
...
@@ -24,6 +24,7 @@ import (
"k8s.io/helm/pkg/proto/hapi/release"
rls
"k8s.io/helm/pkg/proto/hapi/services"
"k8s.io/helm/pkg/storage/driver"
"k8s.io/helm/pkg/tiller/environment"
)
// Option allows specifying various settings configurable by
...
...
@@ -68,8 +69,9 @@ type options struct {
// release test options are applied directly to the test release history request
testReq
rls
.
TestReleaseRequest
driver
driver
.
Driver
discovery
discovery
.
DiscoveryInterface
driver
driver
.
Driver
kubeClient
environment
.
KubeClient
discovery
discovery
.
DiscoveryInterface
}
func
(
opts
*
options
)
runBefore
(
msg
proto
.
Message
)
error
{
...
...
@@ -378,6 +380,12 @@ func Driver(d driver.Driver) Option {
}
}
func
KubeClient
(
kc
environment
.
KubeClient
)
Option
{
return
func
(
opts
*
options
)
{
opts
.
kubeClient
=
kc
}
}
func
Discovery
(
dc
discovery
.
DiscoveryInterface
)
Option
{
return
func
(
opts
*
options
)
{
opts
.
discovery
=
dc
...
...
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