Skip to content

Commit 4dcf704

Browse files
committed
refactor: create pull secret
1 parent e7822ea commit 4dcf704

2 files changed

Lines changed: 26 additions & 24 deletions

File tree

pkg/devspace/build/build.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package build
22

33
import (
44
"fmt"
5+
dockerclient "github.com/loft-sh/devspace/pkg/devspace/docker"
6+
"github.com/loft-sh/devspace/pkg/devspace/pullsecrets"
57
"strings"
68

79
"github.com/loft-sh/devspace/pkg/devspace/build/builder"
@@ -93,6 +95,30 @@ func (c *controller) Build(ctx devspacecontext.Context, images []string, options
9395
tags := map[string][]string{}
9496

9597
for imageConfigName, imageConf := range conf.Images {
98+
// create image pull secret if possible
99+
if ctx.KubeClient() != nil && (imageConf.CreatePullSecret == nil || *imageConf.CreatePullSecret) {
100+
registryURL, err := pullsecrets.GetRegistryFromImageName(imageConf.Image)
101+
if err != nil {
102+
return err
103+
}
104+
105+
dockerClient, err := dockerclient.NewClient(ctx.Context(), ctx.Log())
106+
if err == nil {
107+
if imageConf.Kaniko != nil && imageConf.Kaniko.Namespace != "" && ctx.KubeClient().Namespace() != imageConf.Kaniko.Namespace {
108+
err = pullsecrets.NewClient().EnsurePullSecret(ctx, dockerClient, imageConf.Kaniko.Namespace, registryURL)
109+
if err != nil {
110+
ctx.Log().Errorf("error ensuring pull secret for registry %s: %v", registryURL, err)
111+
}
112+
}
113+
114+
err = pullsecrets.NewClient().EnsurePullSecret(ctx, dockerClient, ctx.KubeClient().Namespace(), registryURL)
115+
if err != nil {
116+
ctx.Log().Errorf("error ensuring pull secret for registry %s: %v", registryURL, err)
117+
}
118+
}
119+
}
120+
121+
// get image name and skip if we shouldn't build
96122
imageName := imageConf.Image
97123
if len(images) > 0 && !stringutil.Contains(images, imageConfigName) {
98124
continue

pkg/devspace/build/create_builder.go

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
devspacecontext "github.com/loft-sh/devspace/pkg/devspace/context"
1111
dockerclient "github.com/loft-sh/devspace/pkg/devspace/docker"
1212
"github.com/loft-sh/devspace/pkg/devspace/kubectl"
13-
"github.com/loft-sh/devspace/pkg/devspace/pullsecrets"
1413
"github.com/loft-sh/devspace/pkg/util/kubeconfig"
1514
"github.com/pkg/errors"
1615
)
@@ -81,29 +80,6 @@ func (c *controller) createBuilder(ctx devspacecontext.Context, imageConfigName
8180
}
8281
}
8382

84-
// create image pull secret if possible
85-
if ctx.KubeClient() != nil && (imageConf.CreatePullSecret == nil || *imageConf.CreatePullSecret) {
86-
registryURL, err := pullsecrets.GetRegistryFromImageName(imageConf.Image)
87-
if err != nil {
88-
return nil, err
89-
}
90-
91-
dockerClient, err := dockerclient.NewClient(ctx.Context(), ctx.Log())
92-
if err == nil {
93-
if imageConf.Kaniko != nil && imageConf.Kaniko.Namespace != "" && ctx.KubeClient().Namespace() != imageConf.Kaniko.Namespace {
94-
err = pullsecrets.NewClient().EnsurePullSecret(ctx, dockerClient, imageConf.Kaniko.Namespace, registryURL)
95-
if err != nil {
96-
ctx.Log().Errorf("error ensuring pull secret for registry %s: %v", registryURL, err)
97-
}
98-
}
99-
100-
err = pullsecrets.NewClient().EnsurePullSecret(ctx, dockerClient, ctx.KubeClient().Namespace(), registryURL)
101-
if err != nil {
102-
ctx.Log().Errorf("error ensuring pull secret for registry %s: %v", registryURL, err)
103-
}
104-
}
105-
}
106-
10783
return bldr, nil
10884
}
10985

0 commit comments

Comments
 (0)