Skip to content

Commit af6d357

Browse files
authored
Merge pull request #737 from kinvolk/release-0.31-fix-mtls
release-0.31 branch update for v0.31.4 tag Lint passes locally. Need to debug why the current github action goes away and never some back. However to unblock required v0.31 release force merging. Imran present and approving change.
2 parents 2f2ade1 + 0bc4602 commit af6d357

File tree

2 files changed

+16
-14
lines changed

2 files changed

+16
-14
lines changed

cmd/server/app/options/options.go

+15-13
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ type ProxyRunOptions struct {
112112
LeaseNamespace string
113113
// Lease Labels
114114
LeaseLabel string
115+
// Needs kubernetes client
116+
NeedsKubernetesClient bool
115117
}
116118

117119
func (o *ProxyRunOptions) Flags() *pflag.FlagSet {
@@ -287,29 +289,27 @@ func (o *ProxyRunOptions) Validate() error {
287289
if o.EnableContentionProfiling && !o.EnableProfiling {
288290
return fmt.Errorf("if --enable-contention-profiling is set, --enable-profiling must also be set")
289291
}
290-
291-
// validate agent authentication params
292-
// all 4 parameters must be empty or must have value (except KubeconfigPath that might be empty)
293-
if o.AgentNamespace != "" || o.AgentServiceAccount != "" || o.AuthenticationAudience != "" || o.KubeconfigPath != "" {
292+
usingServiceAccountAuth := o.AgentNamespace != "" || o.AgentServiceAccount != "" || o.AuthenticationAudience != ""
293+
if usingServiceAccountAuth {
294294
if o.ClusterCaCert != "" {
295-
return fmt.Errorf("ClusterCaCert can not be used when service account authentication is enabled")
295+
return fmt.Errorf("--cluster-ca-cert can not be used when agent authentication is enabled")
296296
}
297297
if o.AgentNamespace == "" {
298-
return fmt.Errorf("AgentNamespace cannot be empty when agent authentication is enabled")
298+
return fmt.Errorf("--agent-namespace cannot be empty when agent authentication is enabled")
299299
}
300300
if o.AgentServiceAccount == "" {
301-
return fmt.Errorf("AgentServiceAccount cannot be empty when agent authentication is enabled")
301+
return fmt.Errorf("--agent-service-account cannot be empty when agent authentication is enabled")
302302
}
303303
if o.AuthenticationAudience == "" {
304-
return fmt.Errorf("AuthenticationAudience cannot be empty when agent authentication is enabled")
304+
return fmt.Errorf("--authentication-audience cannot be empty when agent authentication is enabled")
305305
}
306-
if o.KubeconfigPath != "" {
307-
if _, err := os.Stat(o.KubeconfigPath); os.IsNotExist(err) {
308-
return fmt.Errorf("error checking KubeconfigPath %q, got %v", o.KubeconfigPath, err)
309-
}
306+
}
307+
// Validate kubeconfig path if provided
308+
if o.KubeconfigPath != "" {
309+
if _, err := os.Stat(o.KubeconfigPath); os.IsNotExist(err) {
310+
return fmt.Errorf("checking KubeconfigPath %q, got %v", o.KubeconfigPath, err)
310311
}
311312
}
312-
313313
// validate the proxy strategies
314314
if len(o.ProxyStrategies) == 0 {
315315
return fmt.Errorf("ProxyStrategies cannot be empty")
@@ -338,6 +338,8 @@ func (o *ProxyRunOptions) Validate() error {
338338
}
339339
}
340340

341+
o.NeedsKubernetesClient = usingServiceAccountAuth || o.EnableLeaseController
342+
341343
return nil
342344
}
343345

cmd/server/app/server.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func (p *Proxy) Run(o *options.ProxyRunOptions, stopCh <-chan struct{}) error {
105105
defer cancel()
106106

107107
var k8sClient *kubernetes.Clientset
108-
if o.AgentNamespace != "" {
108+
if o.NeedsKubernetesClient {
109109
config, err := clientcmd.BuildConfigFromFlags("", o.KubeconfigPath)
110110
if err != nil {
111111
return fmt.Errorf("failed to load kubernetes client config: %v", err)

0 commit comments

Comments
 (0)