@@ -19,31 +19,35 @@ func newSetKubernetesEndpointCommand(dockerCli command.Cli) *cobra.Command {
19
19
if err != nil {
20
20
return err
21
21
}
22
- contextMetadata , err := dockerCli .ContextStore ().GetContextMetadata (name )
23
- if err != nil {
24
- return err
25
- }
26
- endpoint , err := opts .toEndpoint (dockerCli )
27
- if err != nil {
28
- return errors .Wrap (err , "unable to create kubernetes endpoint config" )
29
- }
30
- if endpoint == nil {
31
- // resolved endpoint is explicitly nil, and no error occurred
32
- // this means "reset to nil"
33
- delete (contextMetadata .Endpoints , kubernetes .KubernetesEndpoint )
34
- if err := dockerCli .ContextStore ().CreateOrUpdateContext (name , contextMetadata ); err != nil {
35
- return err
36
- }
37
- return dockerCli .ContextStore ().ResetContextEndpointTLSMaterial (name , kubernetes .KubernetesEndpoint , nil )
38
- }
39
- contextMetadata .Endpoints [kubernetes .KubernetesEndpoint ] = endpoint .EndpointMeta
40
- if err := dockerCli .ContextStore ().CreateOrUpdateContext (name , contextMetadata ); err != nil {
41
- return err
42
- }
43
- return dockerCli .ContextStore ().ResetContextEndpointTLSMaterial (name , kubernetes .KubernetesEndpoint , endpoint .TLSData .ToStoreTLSData ())
22
+ return runSetKubernetesEndpoint (dockerCli , name , opts )
44
23
},
45
24
}
46
25
47
26
opts .addFlags (cmd .Flags (), "" )
48
27
return cmd
49
28
}
29
+
30
+ func runSetKubernetesEndpoint (dockerCli command.Cli , name string , opts * kubernetesEndpointOptions ) error {
31
+ contextMetadata , err := dockerCli .ContextStore ().GetContextMetadata (name )
32
+ if err != nil {
33
+ return err
34
+ }
35
+ endpoint , err := getKubernetesEndpoint (dockerCli , opts )
36
+ if err != nil {
37
+ return errors .Wrap (err , "unable to create kubernetes endpoint config" )
38
+ }
39
+ if endpoint == nil {
40
+ // resolved endpoint is explicitly nil, and no error occurred
41
+ // this means "reset to nil"
42
+ delete (contextMetadata .Endpoints , kubernetes .KubernetesEndpoint )
43
+ if err := dockerCli .ContextStore ().CreateOrUpdateContext (name , contextMetadata ); err != nil {
44
+ return err
45
+ }
46
+ return dockerCli .ContextStore ().ResetContextEndpointTLSMaterial (name , kubernetes .KubernetesEndpoint , nil )
47
+ }
48
+ contextMetadata .Endpoints [kubernetes .KubernetesEndpoint ] = endpoint .EndpointMeta
49
+ if err := dockerCli .ContextStore ().CreateOrUpdateContext (name , contextMetadata ); err != nil {
50
+ return err
51
+ }
52
+ return dockerCli .ContextStore ().ResetContextEndpointTLSMaterial (name , kubernetes .KubernetesEndpoint , endpoint .TLSData .ToStoreTLSData ())
53
+ }
0 commit comments