Skip to content

Commit b2b385b

Browse files
committed
installerpod: Use atomicfiles.WriteFiles
1 parent 097034c commit b2b385b

File tree

1 file changed

+6
-40
lines changed
  • pkg/operator/staticpod/installerpod

1 file changed

+6
-40
lines changed

pkg/operator/staticpod/installerpod/cmd.go

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,36 +3,35 @@ package installerpod
33
import (
44
"context"
55
"fmt"
6-
"k8s.io/utils/clock"
76
"os"
87
"path"
98
"sort"
109
"strconv"
1110
"strings"
1211
"time"
1312

14-
"k8s.io/apimachinery/pkg/util/wait"
15-
1613
"github.com/blang/semver/v4"
1714
"github.com/davecgh/go-spew/spew"
1815
"github.com/spf13/cobra"
1916
"github.com/spf13/pflag"
20-
"k8s.io/klog/v2"
2117

2218
corev1 "k8s.io/api/core/v1"
2319
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2420
"k8s.io/apimachinery/pkg/util/sets"
2521
"k8s.io/apimachinery/pkg/util/uuid"
22+
"k8s.io/apimachinery/pkg/util/wait"
2623
"k8s.io/apiserver/pkg/server"
2724
"k8s.io/client-go/kubernetes"
2825
"k8s.io/client-go/rest"
26+
"k8s.io/klog/v2"
27+
"k8s.io/utils/clock"
2928

3029
"github.com/openshift/library-go/pkg/config/client"
3130
"github.com/openshift/library-go/pkg/operator/events"
3231
"github.com/openshift/library-go/pkg/operator/resource/resourceread"
3332
"github.com/openshift/library-go/pkg/operator/resource/retry"
34-
"github.com/openshift/library-go/pkg/operator/staticpod"
3533
"github.com/openshift/library-go/pkg/operator/staticpod/internal"
34+
"github.com/openshift/library-go/pkg/operator/staticpod/internal/atomicfiles"
3635
"github.com/openshift/library-go/pkg/operator/staticpod/internal/flock"
3736
)
3837

@@ -258,33 +257,20 @@ func (o *InstallOptions) copySecretsAndConfigMaps(ctx context.Context, resourceD
258257
secretBaseName = o.prefixFor(secret.Name)
259258
}
260259
contentDir := path.Join(resourceDir, "secrets", secretBaseName)
261-
klog.Infof("Creating directory %q ...", contentDir)
262-
if err := os.MkdirAll(contentDir, 0755); err != nil {
260+
if err := atomicfiles.WriteFiles("secret", secret.ObjectMeta, contentDir, secret.Data, 0600); err != nil {
263261
return err
264262
}
265-
for filename, content := range secret.Data {
266-
if err := writeSecret(content, path.Join(contentDir, filename)); err != nil {
267-
return err
268-
}
269-
}
270263
}
271264
for _, configmap := range configs {
272265
configMapBaseName := configmap.Name
273266
if prefixed {
274267
configMapBaseName = o.prefixFor(configmap.Name)
275268
}
276269
contentDir := path.Join(resourceDir, "configmaps", configMapBaseName)
277-
klog.Infof("Creating directory %q ...", contentDir)
278-
if err := os.MkdirAll(contentDir, 0755); err != nil {
270+
if err := atomicfiles.WriteFiles("configmap", configmap.ObjectMeta, contentDir, configmap.Data, 0600); err != nil {
279271
return err
280272
}
281-
for filename, content := range configmap.Data {
282-
if err := writeConfig([]byte(content), path.Join(contentDir, filename)); err != nil {
283-
return err
284-
}
285-
}
286273
}
287-
288274
return nil
289275
}
290276

@@ -624,23 +610,3 @@ func (o *InstallOptions) writePod(rawPodBytes []byte, manifestFileName, resource
624610
}
625611
return nil
626612
}
627-
628-
func writeConfig(content []byte, fullFilename string) error {
629-
klog.Infof("Writing config file %q ...", fullFilename)
630-
631-
filePerms := os.FileMode(0600)
632-
if strings.HasSuffix(fullFilename, ".sh") {
633-
filePerms = 0755
634-
}
635-
return staticpod.WriteFileAtomic(content, filePerms, fullFilename)
636-
}
637-
638-
func writeSecret(content []byte, fullFilename string) error {
639-
klog.Infof("Writing secret manifest %q ...", fullFilename)
640-
641-
filePerms := os.FileMode(0600)
642-
if strings.HasSuffix(fullFilename, ".sh") {
643-
filePerms = 0700
644-
}
645-
return staticpod.WriteFileAtomic(content, filePerms, fullFilename)
646-
}

0 commit comments

Comments
 (0)