Skip to content
This repository was archived by the owner on May 17, 2024. It is now read-only.

Commit be1fa46

Browse files
committed
Remove in-cluster-config flag in favour of fall back behaviour
Signed-off-by: JoshVanL <[email protected]>
1 parent 8dbdc83 commit be1fa46

File tree

6 files changed

+18
-119
lines changed

6 files changed

+18
-119
lines changed

cmd/options/client.go

Lines changed: 6 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,50 +2,26 @@
22
package options
33

44
import (
5-
"errors"
6-
"fmt"
7-
85
"github.com/spf13/cobra"
96
"github.com/spf13/pflag"
107
"k8s.io/cli-runtime/pkg/genericclioptions"
118
)
129

13-
const (
14-
flagInClusterConfig = "in-cluster-config"
15-
)
16-
17-
type ClientExtraOptions struct {
18-
InClusterConfig bool
10+
type ClientOptions struct {
1911
*genericclioptions.ConfigFlags
2012
}
2113

22-
func NewClientExtraFlags() *ClientExtraOptions {
23-
return &ClientExtraOptions{
24-
InClusterConfig: false,
25-
ConfigFlags: genericclioptions.NewConfigFlags(true),
14+
func NewClientFlags() *ClientOptions {
15+
return &ClientOptions{
16+
ConfigFlags: genericclioptions.NewConfigFlags(true),
2617
}
2718
}
2819

29-
func (c *ClientExtraOptions) AddFlags(flags *pflag.FlagSet) {
30-
flags.BoolVar(&c.InClusterConfig, flagInClusterConfig, c.InClusterConfig, "Use in-cluster configuration to authenticate and connect to a Kubernetes API server")
20+
func (c *ClientOptions) AddFlags(flags *pflag.FlagSet) {
3121
c.ConfigFlags.AddFlags(flags)
3222
}
3323

34-
func (c *ClientExtraOptions) Validate(cmd *cobra.Command) error {
35-
clientFCh := c.clientFlagsChanged(cmd)
36-
37-
if clientFCh && c.InClusterConfig {
38-
return fmt.Errorf("if --%s is enabled, no other client flag options my be specified", flagInClusterConfig)
39-
}
40-
41-
if !clientFCh && !c.InClusterConfig {
42-
return errors.New("no client flag options specified")
43-
}
44-
45-
return nil
46-
}
47-
48-
func (c *ClientExtraOptions) clientFlagsChanged(cmd *cobra.Command) bool {
24+
func (c *ClientOptions) ClientFlagsChanged(cmd *cobra.Command) bool {
4925
for _, f := range clientOptionFlags() {
5026
if ff := cmd.Flag(f); ff != nil && ff.Changed {
5127
return true

cmd/options/client_test.go

Lines changed: 0 additions & 70 deletions
This file was deleted.

cmd/run.go

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func NewRunCommand(stopCh <-chan struct{}) *cobra.Command {
4646

4747
kopOptions := new(options.KubeOIDCProxyOptions)
4848

49-
clientConfigOptions := options.NewClientExtraFlags()
49+
clientConfigOptions := options.NewClientFlags()
5050

5151
healthCheck := probe.New(strconv.Itoa(readinessProbePort))
5252

@@ -65,26 +65,22 @@ func NewRunCommand(stopCh <-chan struct{}) *cobra.Command {
6565
return err
6666
}
6767

68-
if err := clientConfigOptions.Validate(cmd); err != nil {
69-
return err
70-
}
71-
7268
if ssoptionsWithLB.SecureServingOptions.BindPort == readinessProbePort {
7369
return errors.New("unable to securely serve on port 8080, used by readiness prob")
7470
}
7571

7672
var restConfig *rest.Config
77-
if clientConfigOptions.InClusterConfig {
78-
// In cluster config
79-
restConfig, err = rest.InClusterConfig()
73+
74+
if clientConfigOptions.ClientFlagsChanged(cmd) {
75+
// one or more client flags have been set to use client flag built
76+
// config
77+
restConfig, err = clientConfigOptions.ToRESTConfig()
8078
if err != nil {
8179
return err
8280
}
83-
8481
} else {
85-
86-
// CLI flags not using in-cluster config
87-
restConfig, err = clientConfigOptions.ToRESTConfig()
82+
// no client flags have been set so default to in-cluster config
83+
restConfig, err = rest.InClusterConfig()
8884
if err != nil {
8985
return err
9086
}
@@ -156,15 +152,15 @@ func NewRunCommand(stopCh <-chan struct{}) *cobra.Command {
156152
oidcfs := namedFlagSets.FlagSet("OIDC")
157153
oidcOptions.AddFlags(oidcfs)
158154

159-
ssoptionsWithLB.AddFlags(namedFlagSets.FlagSet("secure serving"))
155+
ssoptionsWithLB.AddFlags(namedFlagSets.FlagSet("Secure Serving"))
160156

161157
clientConfigOptions.CacheDir = nil
162158
clientConfigOptions.Impersonate = nil
163159
clientConfigOptions.ImpersonateGroup = nil
164-
clientConfigOptions.AddFlags(namedFlagSets.FlagSet("client"))
160+
clientConfigOptions.AddFlags(namedFlagSets.FlagSet("Client"))
165161

166-
globalflag.AddGlobalFlags(namedFlagSets.FlagSet("misc"), cmd.Name())
167-
namedFlagSets.FlagSet("misc").Bool("version",
162+
globalflag.AddGlobalFlags(namedFlagSets.FlagSet("Misc"), cmd.Name())
163+
namedFlagSets.FlagSet("Misc").Bool("version",
168164
false, "Print version information and quit")
169165

170166
for _, f := range namedFlagSets.FlagSets {

demo/manifests/components/kube-oidc-proxy.jsonnet

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ local READINESS_PORT = 8080;
111111
command: [
112112
'kube-oidc-proxy',
113113
'--secure-port=' + $.config.secureServing.port,
114-
'--in-cluster-config',
115114
'--tls-cert-file=' + $.config.secureServing.tlsCertFile,
116115
'--tls-private-key-file=' + $.config.secureServing.tlsKeyFile,
117116
'--oidc-groups-prefix=' + $.config.oidc.groupsPrefix,

demo/yaml/kube-oidc-proxy.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ spec:
4343
command: ["kube-oidc-proxy"]
4444
args:
4545
- "--secure-port=443"
46-
- "--in-cluster-config"
4746
- "--tls-cert-file=/etc/oidc/tls/crt.pem"
4847
- "--tls-private-key-file=/etc/oidc/tls/key.pem"
4948
- "--oidc-client-id=$(OIDC_CLIENT_ID)"

deploy/charts/kube-oidc-proxy/templates/deployment.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ spec:
3535
periodSeconds: 10
3636
command: ["kube-oidc-proxy"]
3737
args:
38-
- "--in-cluster-config"
3938
- "--secure-port=443"
4039
- "--tls-cert-file=/etc/oidc/tls/crt.pem"
4140
- "--tls-private-key-file=/etc/oidc/tls/key.pem"

0 commit comments

Comments
 (0)