Skip to content

Commit 2eea739

Browse files
refactor: dedupe defaultK8s func (#145)
1 parent 985bb74 commit 2eea739

File tree

4 files changed

+11
-38
lines changed

4 files changed

+11
-38
lines changed

internal/cmd/local/local.go

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ import (
1010
"github.com/airbytehq/abctl/internal/cmd/local/localerr"
1111
"github.com/airbytehq/abctl/internal/cmd/local/paths"
1212
"github.com/pterm/pterm"
13-
"k8s.io/client-go/kubernetes"
14-
"k8s.io/client-go/tools/clientcmd"
1513
)
1614

1715
type Cmd struct {
@@ -74,22 +72,3 @@ func checkAirbyteDir() error {
7472

7573
return nil
7674
}
77-
78-
// defaultK8s returns the default k8s client for the provided kubecfg and kubectx.
79-
func defaultK8s(kubecfg, kubectx string) (k8s.Client, error) {
80-
k8sCfg := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
81-
&clientcmd.ClientConfigLoadingRules{ExplicitPath: kubecfg},
82-
&clientcmd.ConfigOverrides{CurrentContext: kubectx},
83-
)
84-
85-
restCfg, err := k8sCfg.ClientConfig()
86-
if err != nil {
87-
return nil, fmt.Errorf("%w: could not create rest config: %w", localerr.ErrKubernetes, err)
88-
}
89-
k8sClient, err := kubernetes.NewForConfig(restCfg)
90-
if err != nil {
91-
return nil, fmt.Errorf("%w: could not create clientset: %w", localerr.ErrKubernetes, err)
92-
}
93-
94-
return &k8s.DefaultK8sClient{ClientSet: k8sClient}, nil
95-
}

internal/cmd/local/local/cmd.go

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ func New(provider k8s.Provider, opts ...Option) (*Command, error) {
130130
// set k8s client, if not defined
131131
if c.k8s == nil {
132132
var err error
133-
if c.k8s, err = defaultK8s(provider.Kubeconfig, provider.Context); err != nil {
133+
if c.k8s, err = DefaultK8s(provider.Kubeconfig, provider.Context); err != nil {
134134
return nil, err
135135
}
136136
}
@@ -173,13 +173,13 @@ func New(provider k8s.Provider, opts ...Option) (*Command, error) {
173173
return c, nil
174174
}
175175

176-
// defaultK8s returns the default k8s client
177-
func defaultK8s(kubecfg, kubectx string) (k8s.Client, error) {
176+
// DefaultK8s returns the default k8s client
177+
func DefaultK8s(kubecfg, kubectx string) (k8s.Client, error) {
178178
rest.SetDefaultWarningHandler(k8s.Logger{})
179-
k8sCfg, err := k8sClientConfig(kubecfg, kubectx)
180-
if err != nil {
181-
return nil, fmt.Errorf("%w: %w", localerr.ErrKubernetes, err)
182-
}
179+
k8sCfg := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
180+
&clientcmd.ClientConfigLoadingRules{ExplicitPath: kubecfg},
181+
&clientcmd.ConfigOverrides{CurrentContext: kubectx},
182+
)
183183

184184
restCfg, err := k8sCfg.ClientConfig()
185185
if err != nil {
@@ -192,11 +192,3 @@ func defaultK8s(kubecfg, kubectx string) (k8s.Client, error) {
192192

193193
return &k8s.DefaultK8sClient{ClientSet: k8sClient}, nil
194194
}
195-
196-
// k8sClientConfig returns a k8s client config using the ~/.kube/config file and the k8sContext context.
197-
func k8sClientConfig(kubecfg, kubectx string) (clientcmd.ClientConfig, error) {
198-
return clientcmd.NewNonInteractiveDeferredLoadingClientConfig(
199-
&clientcmd.ClientConfigLoadingRules{ExplicitPath: kubecfg},
200-
&clientcmd.ConfigOverrides{CurrentContext: kubectx},
201-
), nil
202-
}

internal/cmd/local/local_credentials.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
"github.com/airbytehq/abctl/internal/cmd/local/airbyte"
88
"github.com/airbytehq/abctl/internal/cmd/local/k8s"
9+
"github.com/airbytehq/abctl/internal/cmd/local/local"
910
"github.com/airbytehq/abctl/internal/telemetry"
1011
"github.com/pterm/pterm"
1112
"go.opencensus.io/trace"
@@ -32,7 +33,7 @@ func (cc *CredentialsCmd) Run(ctx context.Context, provider k8s.Provider, telCli
3233
spinner := &pterm.DefaultSpinner
3334

3435
return telClient.Wrap(ctx, telemetry.Credentials, func() error {
35-
k8sClient, err := defaultK8s(provider.Kubeconfig, provider.Context)
36+
k8sClient, err := local.DefaultK8s(provider.Kubeconfig, provider.Context)
3637
if err != nil {
3738
pterm.Error.Println("No existing cluster found")
3839
return nil

internal/cmd/local/local_deployments.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66

77
"github.com/airbytehq/abctl/internal/cmd/local/k8s"
8+
"github.com/airbytehq/abctl/internal/cmd/local/local"
89
"github.com/airbytehq/abctl/internal/telemetry"
910
"github.com/pterm/pterm"
1011
"go.opencensus.io/trace"
@@ -18,7 +19,7 @@ func (d *DeploymentsCmd) Run(ctx context.Context, telClient telemetry.Client, pr
1819
ctx, span := trace.StartSpan(ctx, "local deployments")
1920
defer span.End()
2021

21-
k8sClient, err := defaultK8s(provider.Kubeconfig, provider.Context)
22+
k8sClient, err := local.DefaultK8s(provider.Kubeconfig, provider.Context)
2223
if err != nil {
2324
return err
2425
}

0 commit comments

Comments
 (0)