MCPcopy Create free account
hub / github.com/cloudtty/cloudtty / Config

Method Config

cmd/app/options/option.go:116–173  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

114}
115
116func (o *Options) Config() (*config.Config, error) {
117 if filedErr := o.Validate(); filedErr.ToAggregate() != nil {
118 return nil, filedErr.ToAggregate()
119 }
120
121 var err error
122 var kubeconfig *rest.Config
123 if len(o.Kubeconfig) == 0 {
124 kubeconfig, err = clientconfig.GetConfig()
125 } else {
126 kubeconfig, err = clientcmd.BuildConfigFromFlags(o.Master, o.Kubeconfig)
127 }
128 if err != nil {
129 return nil, err
130 }
131
132 kubeconfig.ContentConfig.AcceptContentTypes = o.ClientConnection.AcceptContentTypes
133 kubeconfig.ContentConfig.ContentType = o.ClientConnection.ContentType
134 kubeconfig.QPS = o.ClientConnection.QPS
135 kubeconfig.Burst = int(o.ClientConnection.Burst)
136
137 client, err := clientset.NewForConfig(rest.AddUserAgent(kubeconfig, CloudShellControllerManagerUserAgent))
138 if err != nil {
139 return nil, err
140 }
141
142 eventBroadcaster := record.NewBroadcaster()
143 eventBroadcaster.StartStructuredLogging(0)
144 eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")})
145 eventRecorder := eventBroadcaster.NewRecorder(scheme.Scheme, corev1.EventSource{Component: CloudShellControllerManagerUserAgent})
146
147 runtimeClient, err := runtimeclient.New(kubeconfig, runtimeclient.Options{
148 Scheme: gclient.NewSchema(),
149 })
150 if err != nil {
151 return nil, err
152 }
153
154 cloudshellClient, err := versioned.NewForConfig(kubeconfig)
155 if err != nil {
156 return nil, err
157 }
158
159 return &config.Config{
160 KubeClient: client,
161 CloudShellClient: cloudshellClient,
162 Client: runtimeClient,
163 Kubeconfig: kubeconfig,
164 EventRecorder: eventRecorder,
165 CoreWorkerLimit: o.CoreWorkerLimit,
166 MaxWorkerLimit: o.MaxWorkerLimit,
167 CloudShellImage: o.ClouShellImage,
168 NodeSelector: o.NodeSelector,
169 Resources: &o.Resources,
170
171 LeaderElection: o.LeaderElection,
172 }, nil
173}

Callers 1

Calls 3

ValidateMethod · 0.95
NewSchemaFunction · 0.92
NewForConfigFunction · 0.92

Tested by

no test coverage detected