...
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package config
15
16 import (
17 "flag"
18
19 "k8s.io/client-go/tools/clientcmd"
20 clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
21 "k8s.io/kubernetes/test/e2e/framework"
22
23 test "github.com/chaos-mesh/chaos-mesh/e2e-test"
24 )
25
26
27 var TestConfig = test.NewDefaultConfig()
28
29
30 func RegisterOperatorFlags(flags *flag.FlagSet) {
31 flags.StringVar(&TestConfig.ManagerImage, "manager-image", "pingcap/chaos-mesh", "chaos-mesh image")
32 flags.StringVar(&TestConfig.ManagerTag, "manager-image-tag", "latest", "chaos-mesh image tag")
33 flags.StringVar(&TestConfig.DaemonImage, "daemon-image", "pingcap/chaos-daemon", "chaos-daemon image")
34 flags.StringVar(&TestConfig.DaemonTag, "daemon-image-tag", "latest", "chaos-daemon image tag")
35 flags.StringVar(&TestConfig.E2EImage, "e2e-image", "pingcap/e2e-helper:latest", "e2e helper image")
36 flags.StringVar(&TestConfig.ChaosDNSImage, "chaos-dns-image", "pingcap/coredns:v0.2.0", "chaos-dns image")
37 flags.BoolVar(&TestConfig.InstallChaosMesh, "install-chaos-mesh", false, "automatically install chaos-mesh")
38 flags.BoolVar(&TestConfig.EnableDashboard, "enable-dashboard", false, "enable Chaos Dashboard")
39 }
40
41
42 func LoadClientRawConfig() (clientcmdapi.Config, error) {
43 loadingRules := clientcmd.NewDefaultClientConfigLoadingRules()
44 loadingRules.ExplicitPath = framework.TestContext.KubeConfig
45 overrides := &clientcmd.ConfigOverrides{ClusterDefaults: clientcmd.ClusterDefaults}
46 if framework.TestContext.KubeContext != "" {
47 overrides.CurrentContext = framework.TestContext.KubeContext
48 }
49 return clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, overrides).RawConfig()
50 }
51